【题解】CF587C:Duff in the Army

原题传送门注意a<=10a<=10a<=10可以倍增的同时,暴力记录每个点往上跳2j2^j2j步范围内前10小的点集倍增跳的时候暴力合并Code:#include <bits/stdc++.h>#define maxn 100010using namespace std;struct Edge{ int to, next;}edge[maxn << 1];struct data{ int num[15], tot;}ans, node[ma
分类: 其他 发布时间: 09-07 22:35 阅读次数: 0

【题解】CF538F:A Heap of Heaps

原题传送门按照权值从小到大排序找的是儿子中小于自己的有几个,这样我们就顺着枚举,满足权值递增,用树状数组维护个数,对于一个xxx,kkk叉树,儿子区间为[xk+1−k,xk+1][xk+1-k,xk+1][xk+1−k,xk+1]注意要稳定排序Code:#include <bits/stdc++.h>#define maxn 200010using namespace std;struct data{ int val, id;}a[maxn];int tree[maxn],
分类: 其他 发布时间: 09-07 22:35 阅读次数: 0

【题解】CF238C:World Eater Brothers

原题传送门大意是改变最少的边的方向使得选两个点,能遍历完整棵树考虑枚举两个起点。对于一个起点,用树形dp计算出dpudp_udpu​表示以uuu为根的子树的答案然后若以uuu作为真正的起点,那么答案就是dpudp_udpu​如果选择uuu子树中的某个点vvv作为起点,那么答案是dpu−(u−>v反向的边)+(u−>v正向的边)dp_u-(u->v反向的边)+(u->v正向的边)dpu​−(u−>v反向的边)+(u−>v正向的边)发现所以维护−(u−>v
分类: 其他 发布时间: 09-07 22:34 阅读次数: 0

【题解】CF813C:The Tag Game

原题传送门分别以A,BA,BA,B为起点遍历一遍求出树上各点与A,BA,BA,B的距离disai,disbidisa_i,disb_idisai​,disbi​BBB希望久一点,AAA希望快一点那么枚举点iii,若disbi>=disaidisb_i>=disa_idisbi​>=disai​,说明之前BBB肯定被AAA抓到了所以对于所有的disbi<disaidisb_i<disa_idisbi​<disai​,答案是max(2disai)max(2disa_i
分类: 其他 发布时间: 09-07 22:34 阅读次数: 0

【题解】LuoGu6142:[USACO20FEB]Delegation P

原题传送门跟赛道修建很像的一道题目不同的是,现在要全选依然二分答案,然后dfsdfsdfs对于某点的所有儿子里面传上来的链,二分出能和自己组成一条链的往上传,剩下的是通过两两贪心组合判断可行性注意两个点,若有偶数条链,加一条长度为0的链;根节点直接判断可行性Code:#include <bits/stdc++.h>#define maxn 100010using namespace std;struct Edge{ int to, next;}edge[maxn <
分类: 其他 发布时间: 09-07 22:34 阅读次数: 0

【题解】LuoGu4951:[USACO01OPEN]Earthquake

原题传送门01分数规划f−∑cx∑tx=ans\\frac{f-\\sum c_x}{\\sum t_x}=ans∑tx​f−∑cx​​=ansf−∑cx−∑tx∗ans=0f-\\sum c_x-\\sum t_x*ans=0f−∑cx​−∑tx​∗ans=0f>=∑cx+∑tx∗ansf>=\\sum c_x+\\sum t_x*ansf>=∑cx​+∑tx​∗ans二分答案midmidmid,将边权赋为cx+tx∗midc_x+t_x*midcx​+tx​∗mid求最小生成树,总边权和
分类: 其他 发布时间: 09-07 22:34 阅读次数: 0

【题解】LuoGu1433:吃奶酪

原题传送门因为n<=15n<=15n<=15,所以状压dpi,jdp_{i,j}dpi,j​表示跑过的点状态为iii,当前在jjjdpi∣(1<<(k−1)),k=min(dpi,j+dis(j,k))dp_{i|(1<<(k-1)),k}=min(dp_{i,j}+dis(j,k))dpi∣(1<<(k−1)),k​=min(dpi,j​+dis(j,k))Code:#include <bits/stdc++.h>#define
分类: 其他 发布时间: 09-07 22:33 阅读次数: 0

【题解】LuoGu4408:[NOI2003]逃学的小孩

原题传送门本来想的一个O(n2)O(n^2)O(n2)的暴力枚举CCC,把它记为根,在dfsdfsdfs枚举lca(A,B)lca(A,B)lca(A,B)求出firu,secufir_u,sec_ufiru​,secu​表示以uuu为根的子树中最长链,次长链再记dud_udu​为深度,那么对于一个(C,lca(A,B))(C,lca(A,B))(C,lca(A,B))的答案是firu+2secu+dufir_u+2sec_u+d_ufiru​+2secu​+du​其实可以只枚举lca(A,B)l
分类: 其他 发布时间: 09-07 22:33 阅读次数: 0

特殊的质数肋骨 (DFS)

特殊的质数肋骨 (DFS)题目农民约翰母牛总是产生最好的肋骨。你能通过农民约翰和美国农业部标记在每根肋骨上的数字认出它们。农民约翰确定他卖给买方的是真正的质数肋骨,是因为从右边开始切下肋骨,每次还剩下的肋骨上的数字都组成一个质数,举例来说:7 3 3 1全部肋骨上的数字 7331是质数;三根肋骨 733是质数;二根肋骨 73 是质数;当然,最后一根肋骨 7 也是质数。7331 被叫做长度 4 的特殊质数。写一个程序对给定的肋骨的数目 N (1<=N<=8),求出所有的特殊质数。
分类: 其他 发布时间: 09-07 22:32 阅读次数: 0

【SSL_1636】城市交通(DP)_kyx

城市交通题目有n个城市,编号1~n,有些城市之间有路相连,有些则没有,有路则当然有一个距离。现在规定只能从编号小的城市到编号大的城市,问你从编号为1的城市到编号为n的城市之间的最短距离是多少?Input先输入一个n,表示城市数,n小于100。下面的n行是一个n*n的邻接矩阵map[i,j],其中map[i,j]=0表示城市i和城市j之间没有路相连,否则为两者之间的距离。Output输出格式:一个数,表示最少要多少时间。输入数据保证可以从城市1飞到城市n。Sample Input1
分类: 其他 发布时间: 09-07 22:32 阅读次数: 0

【SSL_1459】求最长不下降序列(DP)_kyx

求最长不下降序列题目设有n(n<=1000)个不相同的整数(小于32767)组成的数列,记为:a1,a2,…,an,其中任意两个数不相同。 (题目骗你的)例如:3,18,7,14,10,12,23,41,16,24。则称为长度为e的不下降序列。如上例中,3,18,23,24为一个长度为4的不下降序列,同时也有3,7,10,12,16,24长度为6的不下降序列。程序要求,当原始数列给出后,求出最长的不下降数列的长度。Sample Input3 18 7 14 10 12 23 41 1
分类: 其他 发布时间: 09-07 22:32 阅读次数: 0

【SSL_1460】最小代价问题(DP)

最小代价问题题目设有一个n×m(小于100)的方格(如图所示),在方格中去掉某些点,方格中的数字代表距离(为小于100的数,如果为0表示去掉的点),试找出一条从A(左上角)到B(右下角)的路径,经过的距离和为最小(此时称为最小代价),从A出发的方向只能向右,或者向下。InputOutputSample Input4 44 10 7 03 2 2 90 7 0 411 6 12 1Sample Output(1,1)->(2,1)->(2,2)->(2,3
分类: 其他 发布时间: 09-07 22:31 阅读次数: 0

【SSL_1045】2005年分区联赛普级组之三 采药

2005年分区联赛普级组之三 采药题目辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果你是辰辰,你能完成这个任务吗?Input输入的第一行有两个整数T(1 &l
分类: 其他 发布时间: 09-07 22:31 阅读次数: 0

【SSL_1071】1996年分区联赛提高组之三 挖地雷(DP)

挖地雷题目在一个地图上有N个地窖(N<=20),每个地窖中埋有一定数量的地雷。同时,给出地窖之间的连接路径。例如:InputOutputK1 K2,……,KV (挖地雷的顺序)MAX (挖地雷的数量)Sample Input5 10 8 4 7 6 1 1 1 00 0 01 11Sample Output1 3 4 527代码#include<
分类: 其他 发布时间: 09-07 22:31 阅读次数: 0

【SSL_1052】开心的金明(DP 01背包)

2006年分区联赛普级组之二开心的金明题目金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N 元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的N 元。于是,他把每件物品规定了一个重要度,分为5 等:用整数1~5 表示,第5 等最重要。他还从因特网上查到了每件物品的价格(都是整数元)。他希望在不超过N 元(可以等于N 元)的前提下,使每件物品的价格
分类: 其他 发布时间: 09-07 22:31 阅读次数: 0

【SSL_1014】2001年分区联赛普级组之四 装箱问题(DP,背包)

装箱问题题目有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数)。要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。InputOutputSample Input24 //一个整数,表示箱子容量6 //一个整数,表示有n个物品8  // 接下来n行,分别表示这n 个物品的各自体积312797Sample Output0  //一个整数,表示箱子剩余空间。题解嗯,又是01背包问题,
分类: 其他 发布时间: 09-07 22:30 阅读次数: 0

【SSL_2292】竞赛得分(dp)

竞赛得分题目学生在我们USACO的竞赛中的得分越多我们越高兴。我们试着设计我们的竞赛以便人们能尽可能的多得分。现在要进行一次竞赛,总时间T固定,有若干类型可选择的题目,每种类型题目可选入的数量不限,每种类型题目有一个si(解答此题所得的分数)和ti(解答此题所需的时间),现要选择若干题目,使解这些题的总时间在T以内的前提下,所得的总分最大。输入包括竞赛的时间,M(1 <= M <= 10000)和题目类型数目N(1 <= N <= 10000)。后面的每一行将包括两个整数来描
分类: 其他 发布时间: 09-07 22:30 阅读次数: 0

【SSL_1376】 完全背包(DP)

完全背包题目设有n 种物品,每种物品有一个重量及一个价值。但每种物品的数量是无限的,同时有一个背包,最大载重量为M,今从n 种物品中选取若干件(同一种物品可以多次选取),使其重量的和小于等于M,而价值的和为最大。Input第一行:两个整数,M(背包容量,M<= 200)和N(物品数量,N<= 30); 第2…N+1 行:每行二个整数Wi,Ui,表示每个物品的重量和价值。Output仅一行,一个数,表示最大总价值。Sample Input12 42 13 34 57
分类: 其他 发布时间: 09-07 22:30 阅读次数: 0

【SSL_2895】 购买干草(dp)(背包)

购买干草题目约翰的干草库存已经告罄,他打算为奶牛们采购H(1≤H≤50000)磅干草,他知道N(1≤N≤100)个干草公司,现在用1到N给它们编号。第i个公司卖的干草包重量为Pi(1≤Pi≤5000)磅,需要的开销为Ci(l≤Ci≤5000)美元.每个干草公司的货源都十分充足,可以卖出无限多的干草包。帮助约翰找到最小的开销来满足需要,即采购到至少H磅干草。Input第1行输入N和H,之后N行每行输入一个Pi和Ci.Output最小的开销.Sample Input2 15 3 2
分类: 其他 发布时间: 09-07 22:30 阅读次数: 0

【SSL_1115】货币系统(DP)

货币系统题目 母牛们不但创建了他们自己的政府而且选择了建立了自己的货币系统。[In their own rebellious way],他们对货币的数值感到好奇。传统地,一个货币系统是由1,5,10,20 或 25,50, 和 100的单位面值组成的。母牛想知道有多少种不同的方法来用货币系统中的货币来构造一个确定的数值。举例来说, 使用一个货币系统 {1,2,5,10,…}产生 18单位面值的一些可能的方法是:18x1, 9x2, 8x2+2x1, 3x5+2+1,等等其它。写一个程序来
分类: 其他 发布时间: 09-07 22:29 阅读次数: 0