02 2019 档案

摘要:有向图欧拉图:所有点的出度等于入度。 有向图半欧拉路:起点的入度加一等于出度;终点的出度加一等于入读;其它点都是出度等于入度。 无向图欧拉路:所有点的度数为偶数。 无向图半欧拉路:起点和终点的读书为奇数,其它点为... 阅读全文
posted @ 2019-02-28 21:02 月光下の魔术师 阅读(10) 评论(0) 推荐(0)
摘要:HDU5534题意:每个结点都有一个度数,每个度数都对应一个值。为了构成一棵树,最大值为多少。题解:普通思路点的个数为无限多个,所以为完全背包问题。。 每个点都是一件物品,其体积为度数,价值为度数对应的值,背包容... 阅读全文
posted @ 2019-02-28 11:40 月光下の魔术师 阅读(10) 评论(0) 推荐(0)
摘要:ZOJ3524题目:收集物品,不超过背包的容量,使收集到的价值最多 并且在价值最多的前提下,消耗的能量最小。最后输出消耗最小的能量。 消耗的能量为dist * weight。 每条路只能经过一次,不能再返回。题解... 阅读全文
posted @ 2019-02-28 11:30 月光下の魔术师 阅读(4) 评论(0) 推荐(0)
摘要:CF898D这是一道很好的题目,我思考了很久,终于搞透了。思维很好,代码很简洁。题意:有n个闹钟,会在指定的时间内响。 此人会在连续m个时间内,至少有k个时钟响时醒来。 关掉最少的闹钟,使此人能够睡一个好觉。题解... 阅读全文
posted @ 2019-02-28 10:56 月光下の魔术师 阅读(9) 评论(0) 推荐(0)
摘要:CF884C:题解:给你一张有向图,修改两条边,使相互到达的点数量最多。题解:p的值都不相同,说明图中只存在环或者点。 找出最大的两个环,可以通过修改两条边进行合并。 每个环的对数为cnt*cnt 利用并查集进行... 阅读全文
posted @ 2019-02-27 22:35 月光下の魔术师 阅读(257) 评论(0) 推荐(0)
摘要:CF853B:题意:有n+1个城市,m个航班,n个城市的人到0城市开k天会,最后再回去。一天只有一趟航班。请问乘坐航班的最小费用。题解:如果乘坐价格便宜的航班,可能导致没有回来的航班。所以不能以价格排序。 如果乘... 阅读全文
posted @ 2019-02-27 22:29 月光下の魔术师 阅读(34) 评论(0) 推荐(0)
摘要:整数二分模板while (left eps){ double mid = (left + right) / 2; if(check (mid)){ ans = mid; ... 阅读全文
posted @ 2019-02-26 18:41 月光下の魔术师 阅读(8) 评论(0) 推荐(0)
摘要:CF925B题意:给出n个服务器的资源数,运行两个程序需要资源数为s1,s2 选择k1个服务器,使资源数总和不小于s1,且每个服务器的资源数不小于s1/k1 选择k2个服务器,使资源数总和不小于s2,且每个服务器... 阅读全文
posted @ 2019-02-26 17:39 月光下の魔术师 阅读(6) 评论(0) 推荐(0)
摘要:CF1019B题解:任意两个人之间相差一个数字,手写模拟一下,可以发现规律。就是相对的两个人之间差值为-2,0,2。 如果n = 4k+2,一定无解。因为它和对面的数字相差2k+1奇数个,根据奇偶相加规律。相对的... 阅读全文
posted @ 2019-02-26 15:40 月光下の魔术师 阅读(18) 评论(0) 推荐(0)
摘要:CF1039B题解: 第二次做交互题,对交互题没什么感觉。你要询问系统,所以你cout输入,系统再立刻给你cin答案。交互题格式就在于要清空缓存区,可以在printf输出完之后,加一fflush(stdout);... 阅读全文
posted @ 2019-02-26 13:56 月光下の魔术师 阅读(24) 评论(0) 推荐(0)
摘要:CF1100E题意:n个点,m条边的有向图,改变边的方向使之没有环,且改变的边的权值最大值最小。输出最小权值和边的数量输出边的编号(边的编号为输入顺序)。如果有很多,输入任意。题解:显然二分枚举权值最大的边。把大... 阅读全文
posted @ 2019-02-26 13:07 月光下の魔术师 阅读(6) 评论(0) 推荐(0)
摘要:POJ1018题解:有点类似分组背包问题,每组选一个,但是是最大化B/P。既然要最大化B/P,那么固定一个B,最小化P。 dp[i][j]为考虑到第i组,带宽为j的最小价格和。 方程dp[i][k] = min(... 阅读全文
posted @ 2019-02-25 20:15 月光下の魔术师 阅读(20) 评论(0) 推荐(0)
摘要:01背包问题(给定某种物品)for(int i=n;i>=1;i--){ //dp[i][j]表示处于从第i个阶段到最后一个阶段的最大花费 for(int j=0;j=weight[i];j--) ... 阅读全文
posted @ 2019-02-25 15:55 月光下の魔术师 阅读(8) 评论(0) 推荐(0)
摘要:HDU3535题解:分组背包问题好题目。定义dp[i][j]为考虑到第i组,背包容量为j时的最大价值 s == 0,至少选一个。那么dp[i]初始化为-inf。dp[i][k]要从dp[i][k-weight]+... 阅读全文
posted @ 2019-02-25 12:39 月光下の魔术师 阅读(9) 评论(0) 推荐(0)
摘要:POJ2576题解:限制为人数和体重。人数差距不能超过1,体重越近越好。dp[i][j][k]表示考虑第i个人,能否达到人数为j,体重为k的状态。跑二维01背包最后再枚举各个状态,优先考虑人数,其次考虑体重代码:... 阅读全文
posted @ 2019-02-25 10:09 月光下の魔术师 阅读(6) 评论(0) 推荐(0)
摘要:拓扑排序模板输入初始化,记录有向边和入度void Init(){ for(int i=1;iusing namespace std;int const N = 10000 + 10;int const LOW =... 阅读全文
posted @ 2019-02-23 15:19 月光下の魔术师 阅读(9) 评论(0) 推荐(0)
摘要:CF1106E题解:这一题有点麻烦,第一次用multiset。发现了神奇的erase让我一直WA,至今还是不懂。谁能告诉我orz!!!我们用dp[i][j]表示i时刻到n时刻用了j次阻拦,抢的最少红包。所以我们最... 阅读全文
posted @ 2019-02-23 12:28 月光下の魔术师 阅读(7) 评论(0) 推荐(0)
摘要:朴素埃式素数筛法枚举≤n的每一个数x,把x倍数都筛选掉。int vis[N]; // 素数标记,0为素数,1为合数memset(vis, 0, sizeof(vis));for(int i = 2; i usin... 阅读全文
posted @ 2019-02-22 19:33 月光下の魔术师 阅读(9) 评论(0) 推荐(0)
摘要:UVA11400题解:每次都不换或全部把电压小的用电压大的替换掉,因为不全部换掉就有两个电源。 把灯泡按电压从小到大排序。这样换的时候直接用后面的换前面的。 dp[i]表示用1到i中几种灯泡的最小费用。 dp[i... 阅读全文
posted @ 2019-02-22 18:37 月光下の魔术师 阅读(10) 评论(0) 推荐(0)
摘要:组合数三种求法1、杨辉三角打表预处理(n,m>= 1; } return ans;}ll comb(ll n,ll m){ //n!/(m!)*(n-m)! if(n 0;i--) finv[i-1] = ... 阅读全文
posted @ 2019-02-22 17:49 月光下の魔术师 阅读(29) 评论(0) 推荐(0)
摘要:意义:n个不同的元素,每个元素都不在自己原来位置的排列方案数。递推式:通项:代码:void Init(){ d[0] = 1,d[1] = 0,d[2] = 1; //不要少了d[0] for(int i... 阅读全文
posted @ 2019-02-22 17:39 月光下の魔术师 阅读(11) 评论(0) 推荐(0)
摘要:Lucas定理:公式:C(n,m)%p=C(n/p,m/p)*C(n%p,m%p)%p 适用范围:n和m很大(1e18数量级),mod很小(1e6数量级) 对于上式:C(n%p,m%p)可直接用逆元求组合数方法求... 阅读全文
posted @ 2019-02-22 17:33 月光下の魔术师 阅读(13) 评论(0) 推荐(0)
摘要:最长公共子序列(LCS) dp[i][j] = x表示第一个字符串前i个位置和第二个字符串前j个位置的最长公共子序列长度为x if(s1[i]==s2[j]) dp[i][j]= dp[i-1][j-1]+1... 阅读全文
posted @ 2019-02-22 17:21 月光下の魔术师 阅读(10) 评论(0) 推荐(0)
摘要:UVA116题解:参考刘汝佳的代码。每次从最后一列开始往前推。dp[i][j]表示从(i,j)到最后一列的整数和最小值。因为每次只能直行,右上,右下。所以dp[i][j] = max(dp[i][j+1],dp[... 阅读全文
posted @ 2019-02-22 17:15 月光下の魔术师 阅读(11) 评论(0) 推荐(0)
摘要:最长上升子序列方法一:dp[i]表示为以i结尾的最长长度,那么if(a[j]#include #include #include using namespace std;int const N = 1000 + ... 阅读全文
posted @ 2019-02-22 17:05 月光下の魔术师 阅读(123) 评论(0) 推荐(0)
摘要:UVA11806题意:总共有k个啦啦队队员,站在n*m的格子里,每条边至少有一个人,问有几种方法。一个角落可以同时属于两条边。题解:利用容斥原理和状态压缩。0001,0010,0100,1000分别表示上下左右没... 阅读全文
posted @ 2019-02-22 12:33 月光下の魔术师 阅读(21) 评论(0) 推荐(0)
摘要:HDU1839题意:每条边都有容量和时间把矿物从1运到n,并且不超过规定的时间T。且路线的容量要最大。这一条路线的容量为容量最小边的容量题解:把每一条边的容量进行排序,然后按二分容量,枚举容量最小的边。走容量≥l... 阅读全文
posted @ 2019-02-18 13:01 月光下の魔术师 阅读(6) 评论(0) 推荐(0)
摘要:POJ1062题解: 如果a可以代替b,那么就连一条从a到b的边,权值为用b代替a,a需要的价格。 再加一个点n+1,n+1连接所有点,权值为旅行家直接花钱的价格 最后求的便是从n+1到1的最短路,并且路... 阅读全文
posted @ 2019-02-18 10:50 月光下の魔术师 阅读(4) 评论(0) 推荐(0)
摘要:CF446C题解:这真是一道好题。参考了下面大佬的博客,总结很棒。https://blog.csdn.net/icefox_zhx/article/details/79423177废话不多说,上我自己写的代码。还... 阅读全文
posted @ 2019-02-17 21:27 月光下の魔术师 阅读(7) 评论(0) 推荐(0)
摘要:HDU6341题解:参考了大佬的代码。其实还是比较好理解。矩阵的旋转操作,自己摸索,还是比较好想。 剪枝:每次搜索到一个块,判断和前面的块是否冲突。代码:#include using namespace std;... 阅读全文
posted @ 2019-02-17 19:00 月光下の魔术师 阅读(4) 评论(0) 推荐(0)
摘要:题解:这一题思路很清晰,就是回溯+判重。但是难点在于判重。旋转、平移、翻转该怎么统一呢?参考了大佬的代码,终于豁然开朗。首先判重想到set,这里要用的双set,代码里有说明。 旋转操作,每次旋转90度,就是(x,... 阅读全文
posted @ 2019-02-17 18:54 月光下の魔术师 阅读(15) 评论(0) 推荐(0)
摘要:题解:这一题用IDA*算法。首先要打表,把每个格子从上到,下从左到右依次编号。然后每个方向也依次编号,我用block数组。然后中间的一圈也编号,用于最后判断是否一致。重点在于估值函数h()的写法。我们发现每次移动... 阅读全文
posted @ 2019-02-17 18:45 月光下の魔术师 阅读(14) 评论(0) 推荐(0)
摘要:题解:这一题收获很大,参考了刘汝佳的代码。很多细节处理的都很不错。我用的是单向BFS。注释在代码里。花一点时间细心的看,还是能看懂的。代码:#include #define ft first#define sd ... 阅读全文
posted @ 2019-02-17 18:36 月光下の魔术师 阅读(7) 评论(0) 推荐(0)
摘要:CF540E题解:这一题做了将近4个小时,看网上的博客,都是简单带过。找了两个写得好的博客,帮助大家理解一下。https://www.cnblogs.com/FinFin/p/9727351.htmlhttps:... 阅读全文
posted @ 2019-02-15 19:49 月光下の魔术师 阅读(11) 评论(0) 推荐(0)
摘要:HDU1217题意:询问是否存在一种货币交换,使最终的收益增加。题解:注意货币交换是单向的。floyd算法求最长路并且进行判环代码:#include using namespace std;int const N... 阅读全文
posted @ 2019-02-15 16:42 月光下の魔术师 阅读(13) 评论(0) 推荐(0)
摘要:POJ2472题意:求从1到n不被逮捕的概率最大题解: Dijkstra算法不能直接求最长路。按照Dijkstra求下面的从1到2的最长路,会发生错误。必须取反再求。1—2 2,1—3 1,3—4 1,4—2 1... 阅读全文
posted @ 2019-02-15 16:39 月光下の魔术师 阅读(6) 评论(0) 推荐(0)
摘要:CF52C题解:很简单的一道题目,注意区间[x,y]x大于y,要分两段。代码:#include #include #include #include using namespace std;typedef lon... 阅读全文
posted @ 2019-02-14 22:57 月光下の魔术师 阅读(16) 评论(0) 推荐(0)
摘要:CF61E题解: 找逆序三元组和找逆序数差不多,记录大于x的个数和小于x的个数。 因为数据比较大,所以要离散化 记得用long long类型,不小心WA了一次 代码:#include using name... 阅读全文
posted @ 2019-02-14 22:54 月光下の魔术师 阅读(7) 评论(0) 推荐(0)
摘要:HDU1540题意:求区间最大连续点的个数题解: 我们要找某个点,那么就要找到左边最近被破坏(在左边编号是最大的)maxd的和右边最近被破坏的(在右边编号是最小的)mind,那么ans = min - max -... 阅读全文
posted @ 2019-02-14 22:49 月光下の魔术师 阅读(25) 评论(0) 推荐(0)
摘要:HDU1595HDU3986题意:每删除一条边,可能会有一条从1到n的最短路,求最长的最短路。题解:hdu1596有重边,hdu3986无重边。枚举每一条边,太暴力了,肯定TLE。那枚举哪些边好呢?显然是在没有c... 阅读全文
posted @ 2019-02-14 22:44 月光下の魔术师 阅读(18) 评论(0) 推荐(0)
摘要:HDU1556:区间更新,单点查询全部(单点查询时,一次查询到底,用数组记录)#include using namespace std;int const N = 100000 + 10;int n,a[N];s... 阅读全文
posted @ 2019-02-14 14:41 月光下の魔术师 阅读(8) 评论(0) 推荐(0)
摘要:POJ3468:区间更新,区间查询题解:模板题,放一个lazy标志#include #include #include using namespace std;typedef long long ll;int c... 阅读全文
posted @ 2019-02-14 14:40 月光下の魔术师 阅读(12) 评论(0) 推荐(0)
摘要:HDU2112题解:一道题看起来很简单的题目,wa了7次。(┬_┬)1、起点和终点可能相同。但是不要相同立刻contiue,因为后面还有输入。2、两个车站之间是来回的,不是单向的。不知道哪个评论说是单向的。代码:... 阅读全文
posted @ 2019-02-13 21:18 月光下の魔术师 阅读(6) 评论(0) 推荐(0)
摘要:HDU1535题意:从1号车站到所有车站,再从所有车站到1号,花费总和最少为多少?注意公交车是单向的。题解:从1到所有车站就一次dijkstra,然后回来怎么做呢?就是把所有的路反向,再走一次dijkstra。这... 阅读全文
posted @ 2019-02-13 21:17 月光下の魔术师 阅读(5) 评论(0) 推荐(0)
摘要:HDU3790题解:这一题和POJ1679很像,但是简单一点。POJ1679是要求次短路,所以队列里维护的是次短路。这里首要维护的还是最短路。如果发现最短路,就更新最短路并且更新最小费用。如果发现最短路和之前相同... 阅读全文
posted @ 2019-02-13 14:37 月光下の魔术师 阅读(7) 评论(0) 推荐(0)
摘要:HDU3367题意:这一题题目有点绕,这里不是简单地找最大生成树,这课树还可以最多有一个环。然后我们要找出这么多树构成的最大森林。题解在代码中给出了。代码:/*从大到小排序边1、如果根结点相同,如果没有环,就合并... 阅读全文
posted @ 2019-02-13 13:19 月光下の魔术师 阅读(7) 评论(0) 推荐(0)
摘要:HDU1598题意:找两点是否连通,如果不连通,就输出-1如果连通,找出连接两点之间的路线中,速度的最大和最小差值最小的路径,并输出差值。题解:暴力枚举+最小生成树首先题目给出时间不重要~先把边的速度从小到大so... 阅读全文
posted @ 2019-02-13 13:11 月光下の魔术师 阅读(12) 评论(0) 推荐(0)
摘要:UVA1395题意:让你找生成树当中,边的最大权和最小权的差值最小。题解:时间限制3000ms,当然是暴力枚举差值。对边进行排序,枚举最小值和最大值,那么判断和中间的边能否构成树。一次AC。代码:#include... 阅读全文
posted @ 2019-02-13 13:05 月光下の魔术师 阅读(6) 评论(0) 推荐(0)
摘要:HDU1102题解:已经有了的边就合并,然后剩下的边求最小生成树即可。代码:#include using namespace std;int const N = 200 + 10;int const M = 10... 阅读全文
posted @ 2019-02-13 13:01 月光下の魔术师 阅读(3) 评论(0) 推荐(0)
摘要:uva1151题意:被题目和图给吓到了,直接上这一题很简单。就是让所有城市都连通,有两种方案,一种是两个点之间修一条边,价格为两点距离的平方。另一种方案是买一个套餐,套餐里的城市都连通。求最下的花费。题解:二进制... 阅读全文
posted @ 2019-02-13 12:58 月光下の魔术师 阅读(11) 评论(0) 推荐(0)
摘要:POJ1679题解:https://blog.csdn.net/weixin_42165981/article/details/81946849。设最小生成树为T,非T当中的边集为E。 我们每次要在E中选一条边a... 阅读全文
posted @ 2019-02-12 20:43 月光下の魔术师 阅读(9) 评论(0) 推荐(0)
摘要:POJ3255题解:我感觉这一题有一点难理解,可能是我太菜了,虽然在Dijkstra上改进了一下,但是还有一些细节要注意。首先队列维护的是次短路,每次更新都是贪心地找最短的次短路。所以条件判断 if(d1[u] ... 阅读全文
posted @ 2019-02-12 19:08 月光下の魔术师 阅读(31) 评论(0) 推荐(0)
摘要:51nod1649题解:这一题看起来很难,其实稍微思考一下会发现就是一次Dijkstra。如果1和n之间无铁路,那么就一定有公路,那么汽车就一步到达,只需求火车的最短路。如果存在铁路,那么火车一步到达,只需求汽车... 阅读全文
posted @ 2019-02-12 17:06 月光下の魔术师 阅读(4) 评论(0) 推荐(0)
摘要:hihocoder1328题解:这一题还是挺不错的,不是常规的BFS求最短路,而要加上钥匙的状态压缩。共三个状态。因为kusing namespace std;int const N = 100 + 10;cha... 阅读全文
posted @ 2019-02-12 16:03 月光下の魔术师 阅读(14) 评论(0) 推荐(0)
摘要:hihocoder 1093题解:spfa裸题目,存在重复的边和环没关系。代码:#include using namespace std;typedef pairpii;int const inf = 0x7f7... 阅读全文
posted @ 2019-02-12 13:50 月光下の魔术师 阅读(7) 评论(0) 推荐(0)
摘要:hihocoder 1089题解:最短路Floyd裸题代码:#include using namespace std;typedef pairpii;int const inf = 0x7f7f7f7f;int ... 阅读全文
posted @ 2019-02-12 13:13 月光下の魔术师 阅读(5) 评论(0) 推荐(0)
摘要:hihocoder 1081题解:Dijkstra裸题,有重复的边和环没关系。代码:#include using namespace std;typedef pairpii;int const inf = 0x7... 阅读全文
posted @ 2019-02-12 13:02 月光下の魔术师 阅读(5) 评论(0) 推荐(0)
摘要:Bellman-ford特点:单源最短路可判环思路:如果不存在负环,那么经过n-1轮松弛可以找到所有的最短路。如果第n轮还可以松弛,那么说明存在环。算法的过程全部演示了一遍,可以加深影响https://www.b... 阅读全文
posted @ 2019-02-12 11:31 月光下の魔术师 阅读(12) 评论(0) 推荐(0)
摘要:CF620E题解:建议大家先学会这两道题目POJ2777和POJ3321,之后的都简单了代码:#include #include #include #include using namespace std;typ... 阅读全文
posted @ 2019-02-11 20:10 月光下の魔术师 阅读(8) 评论(0) 推荐(0)
摘要:POJ2528题解:参考poj2777,完全一样的思路。只不过这一题需要离散化。代码:#include #include #include #include #include using namespace st... 阅读全文
posted @ 2019-02-11 16:37 月光下の魔术师 阅读(9) 评论(0) 推荐(0)
摘要:POJ2777题解:花了半天终于A了这一题,网上看了很多题解,代码风格和思路和常规的线段树风格都不一样,所以不想学。但最后终于找到合适自己的了。一个记录颜色,一个lazy标志。多种颜色就用-1表示。然后就是pus... 阅读全文
posted @ 2019-02-11 16:04 月光下の魔术师 阅读(12) 评论(0) 推荐(0)
摘要:hihocoder1301题解:一堆相交圆放在一个集合里,如果它的高>=h,底#include #include #include using namespace std;int const N = 1000 +... 阅读全文
posted @ 2019-02-11 14:24 月光下の魔术师 阅读(4) 评论(0) 推荐(0)
摘要:HDU3635题解:找城市编号和总数比较简单,难点在于怎么统计转移次数。每次转移在根节点加一,每次find子节点的根时,根节点转移次数下放,相当于一个lazy标记下放过程,然后使子节点指向根节点。代码:#incl... 阅读全文
posted @ 2019-02-11 13:37 月光下の魔术师 阅读(17) 评论(0) 推荐(0)
摘要:poj1733题解:数据太大需要离散化,一道并查集的简单题代码:#include #include #include #include using namespace std;int const N = 1000... 阅读全文
posted @ 2019-02-11 13:12 月光下の魔术师 阅读(2) 评论(0) 推荐(0)
摘要:HDU6109题意:开始题目看来半天每看懂。。。i,j表示某个数的编号,题目给你约束条件,以i,j为编号的数相等(e=1)或者不相等(e=0)。将这么多约束条件按顺序分组。每一组满足约束条件矛盾,但是去掉最后一组... 阅读全文
posted @ 2019-02-11 12:29 月光下の魔术师 阅读(8) 评论(0) 推荐(0)
摘要:zoj3261题解:建议大家先做一下HDU4496,也是倒序并查集找最大值和最大编号其实也比较简单,代码里Union有,大家应该能看懂。其它都是一些细节上的处理代码:#include #include #incl... 阅读全文
posted @ 2019-02-11 11:56 月光下の魔术师 阅读(13) 评论(0) 推荐(0)
摘要:HDU1272题解:判断是否构成一棵树,可以用DFS也可以用并查集,这里用并查集做DFS做法可以参考我的博客hihocoder 1322注意一开始就输入0 0的情况为空树,也是Yes代码:#include usi... 阅读全文
posted @ 2019-02-10 20:35 月光下の魔术师 阅读(6) 评论(0) 推荐(0)
摘要:poj1984题解:让你求两个点之间的哈密顿距离。可以分别维护横坐标和纵坐标的前缀和。代码:#include #include #include #include #include using namespace... 阅读全文
posted @ 2019-02-10 20:07 月光下の魔术师 阅读(4) 评论(0) 推荐(0)
摘要:poj1182经典题目题解:对于k,x,yk=0,1,2分别表示同类,x吃y,x被y吃如果x吃y,y吃z,则z吃x,所以k分别为1,1,2如果x被y吃,y被z吃,则x吃z,k分别为2,2,1如果x和y同类,y吃z... 阅读全文
posted @ 2019-02-10 20:05 月光下の魔术师 阅读(7) 评论(0) 推荐(0)
摘要:poj2492题意:实验给出:同性虫子不交流,异性交流。给出虫子的交流情况,判断是否符合实验。题解:对话用1表示(异性),不对话用0表示(同性)x和y对话,y和z对话,则x和z不能对话,分别为1,1,0x和y对话... 阅读全文
posted @ 2019-02-10 20:03 月光下の魔术师 阅读(12) 评论(0) 推荐(0)
摘要:HDU4496题意:每次去掉一条边,求去掉前k条边后,连通分量的个数题解:总共有m条边,去掉前k条边之后的连通分量的个数,即为后(m-k)条边所构成的连通分量的个数。所以我们从后往前插入边,每次记录连通分量的个数... 阅读全文
posted @ 2019-02-10 13:16 月光下の魔术师 阅读(12) 评论(0) 推荐(0)
摘要:hdu3047题解:带权并查集裸题#include using namespace std;int const N = 50000 + 10;int n,m,a,b,x,f[N],val[N];int find(... 阅读全文
posted @ 2019-02-10 13:12 月光下の魔术师 阅读(3) 评论(0) 推荐(0)
摘要:题解:带权并查集建议大家先学习一下HDU3038,其它的都一样。代码如下#include using namespace std;int const N = 100000 + 10;int n,m,q,fa[N]... 阅读全文
posted @ 2019-02-10 13:09 月光下の魔术师 阅读(4) 评论(0) 推荐(0)
摘要:HDU3038题解:带权并查集简单的说,就是fx = fa[x],fy = fa[y],那么sum[x]即为区间[fx,x]的和,sum[y]即为区间[fy,y]的和如果fx == fy,即左端点相同,我们就要判... 阅读全文
posted @ 2019-02-10 13:04 月光下の魔术师 阅读(30) 评论(0) 推荐(0)
摘要:hihocoder 1322判断是否构成树题解:DFS简单粗暴#include using namespace std;int const N = 500 + 10;int n,m;vectorG[N];bool... 阅读全文
posted @ 2019-02-10 12:53 月光下の魔术师 阅读(6) 评论(0) 推荐(0)
摘要:hihocoder 1066题解:并查集裸题#include using namespace std;int const N = 100000 + 10;int n,k,fa[N];string s1,s2;ma... 阅读全文
posted @ 2019-02-10 12:51 月光下の魔术师 阅读(3) 评论(0) 推荐(0)
摘要:Weak PairTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submis... 阅读全文
posted @ 2019-02-07 15:57 月光下の魔术师 阅读(4) 评论(0) 推荐(0)
摘要:题目描述聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃、两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好了,可是他们已经玩儿腻了这种... 阅读全文
posted @ 2019-02-07 13:36 月光下の魔术师 阅读(6) 评论(0) 推荐(0)
摘要:TreeTime Limit: 1000MS Memory Limit: 30000K Total Submissions: 31781 Accepted: 10615 Descrip... 阅读全文
posted @ 2019-02-07 11:28 月光下の魔术师 阅读(12) 评论(0) 推荐(0)
摘要:题目背景感谢hzwer的点分治互测。题目描述给定一棵有n个点的树询问树上距离为k的点对是否存在。输入输出格式输入格式:n,m 接下来n-1条边a,b,c描述a到b有一条长度为c的路径接下来m行每行询问一个K输出格... 阅读全文
posted @ 2019-02-07 11:23 月光下の魔术师 阅读(7) 评论(0) 推荐(0)
摘要:题目描述给定n个模式串和1个文本串,求有多少个模式串在文本串里出现过。输入输出格式输入格式:第一行一个n,表示模式串个数;下面n行每行一个模式串;下面一行一个文本串。输出格式:一个数表示答案题解:AC自动机裸题#... 阅读全文
posted @ 2019-02-06 23:01 月光下の魔术师 阅读(10) 评论(0) 推荐(0)
摘要:题目描述小张最近在忙毕设,所以一直在读论文。一篇论文是由许多单词组成但小张发现一个单词会在论文中出现很多次,他想知道每个单词分别在论文中出现了多少次。输入输出格式输入格式:第一行一个整数N,表示有N个单词。接下来... 阅读全文
posted @ 2019-02-06 22:49 月光下の魔术师 阅读(5) 评论(0) 推荐(0)
摘要:题目描述有NN个由小写字母组成的模式串以及一个文本串TT。每个模式串可能会在文本串中出现多次。你需要找出哪些模式串在文本串TT中出现的次数最多。输入输出格式输入格式:输入含多组数据。每组数据的第一行为一个正整数N... 阅读全文
posted @ 2019-02-06 20:23 月光下の魔术师 阅读(7) 评论(0) 推荐(0)
摘要:Puzzled ElenaTime Limit: 5000/2500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Su... 阅读全文
posted @ 2019-02-06 17:05 月光下の魔术师 阅读(8) 评论(0) 推荐(0)
摘要:Co-primeTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissio... 阅读全文
posted @ 2019-02-06 15:33 月光下の魔术师 阅读(12) 评论(0) 推荐(0)
摘要:Counting OffspringTime Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota... 阅读全文
posted @ 2019-02-06 14:51 月光下の魔术师 阅读(6) 评论(0) 推荐(0)
摘要:HDU5692:SnacksTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Su... 阅读全文
posted @ 2019-02-06 13:56 月光下の魔术师 阅读(11) 评论(0) 推荐(0)
摘要:POJ3321:Apple TreeTime Limit: 2000MS Memory Limit: 65536K Total Submissions: 37298 Accepted: ... 阅读全文
posted @ 2019-02-06 12:26 月光下の魔术师 阅读(13) 评论(0) 推荐(0)