2017年夏天的多校赛
文章平均质量分 74
Lazines_by
好吧,我要工作了
展开
-
hdu6121(模拟)
题意:对k叉完全树的各个节点按的个数进行亦或。 思路:当两个子树的完全相同的时候,不需要进行亦或。当k > 1 时,树的深度为logk级别的,直接dfs不会超时。 #include #include #include #include #include #include #include #include #include using namespace std; const int原创 2017-08-16 10:38:22 · 335 阅读 · 0 评论 -
hdu 6153(扩展KMP)
题意 先翻过来,后缀先变前缀(不想描述后缀啦^_^) 给出两个串,这里我们记作S串和T串 对于T串的一个前缀t串,求出t串在S串中出现了多少次,这个小t串对答案的贡献就是”次数 * t的长度” 求T串所有符合条件的前缀对答案的贡献和 解决 对拓展KMP没经验 不管三七二十一,先翻转过来再说… 重点,我们求出在S串里,以下标i开始,有多长的原创 2017-09-07 17:39:19 · 221 阅读 · 0 评论 -
hdu6170(dp)
这个题的会有很多情况,表示自己是一个DP弱手,和队友找了很多情况,最后把答案弄出来了。 PS:一直很辛苦地造样例,辛苦了队友haozx #include #include #include #include #include using namespace std; typedef long long ll; typedef pair P; #define fi first #原创 2017-08-23 09:54:47 · 474 阅读 · 2 评论 -
hdu6166 二进制枚举dijstra
题意:在有向图的一堆点中找出两个点他们的距离最小。 思路:建立一个虚源点和一个虚汇点,跑20次dijkstra。根据每次找出每一个与虚点相连的情况。 PS:不是太懂这个想法。 #include #include #include #include #include using namespace std; typedef long long ll; typedef pair P; #原创 2017-08-23 09:46:44 · 339 阅读 · 0 评论 -
hdu 6103 (尺取)
题意:求一某一个对称轴对称的两个字符串的相差绝对值之和小于等于m的最大的长度。 思路:枚举对称轴,进行尺取。O(n^2) #include using namespace std; #define clr(x,y) mmeset(x,y,sizeof x) const int maxn = 5000 + 10; char s[maxn]; int a[maxn]; in原创 2017-08-14 12:56:47 · 307 阅读 · 0 评论 -
多校第四场1005(hdu6071)dijkstra
题意:给出四边形的无向图,标号分别为0,1,2,3,然后从1出发最后回到1,路可以重复走多次,求使得走的路程>= k的最小值。 思路:怎么也不会想到是最短路,不过涨知识了。 下面思路转载自:http://blog.csdn.net/u013534123/article/details/76651821 题目要求是只有四个点,然后连边成正方形,问从2号点出发,再回到2号点且走过的总距离大于K的原创 2017-08-05 09:48:14 · 272 阅读 · 0 评论 -
hdu 6069用两次筛法
题意: 求 (∑i=lrd(ik))mod998244353 思路: 设n=p1c1p2c2...pmcmn=p_1^{c_1}p_2^{c_2}...p_m^{c_m}n=p1c1p2c2...pmcm,则d(nk)=(kc1+1)(kc2+1)...(kcm+1)d(n^k)=(kc_1+1)(kc_2+1)...(kc_m+1)d原创 2017-08-04 08:50:42 · 349 阅读 · 0 评论 -
hdu6040 (nth_element函数)
题意: 搞糟出一个数组,查询整个数组第k大。 思路:可以运用nth_element函数,nth_element函数是把第k大的数放在第k位,然后左边都是比它小的数,右边都是比它大的数,顺序任意。 为了更优化一些,先将要查询的数列排个序,然后从后往前进行查询,因为输入保证任意两个小的之和小于第三个 所以查询数列的间隔一定大于等于斐波那契,也就是从大到小查询的话,每次至少能去掉一半的区原创 2017-07-26 15:08:11 · 615 阅读 · 0 评论 -
hdu 6034(贪心)
第一场多校,就卡在这个题了,好难受,只是因为没看到前导零这个条件,哎,wa了一下午。 题意:给出n个字符串,包含的字符为a ~ z,然后给每一个字符付一个0~25的值,使得这n个26进制数之和最大。 思路: 对于26个字母,进入每一个字母建一个26进制代表它的权(如果有一位大于26,就是/26,%26操作),然后判断26进制的大小,大的取25,依次类推。 PS:以后看题要认原创 2017-07-25 20:39:52 · 362 阅读 · 0 评论 -
hdu 6129(找规律)
题目大意:(转载自:http://blog.csdn.net/mengxiang000000/article/details/77200451) 设定b【i】=a【1】^a【2】^a【3】^..................a【i】; 每进行一次,我们可以从a数组得到一个b数组。问进行m次的结果。 思路: 我们随手写下四项的前两次结果,不难看出,我原创 2017-08-16 12:07:11 · 302 阅读 · 0 评论 -
hdu 6085(bitset优化)
题意: 存在两个长度分别为 n,m 的数组 A,B 。有 q 个询问,每个询问给出一个数字 k ,可以得到使得 AimodBj=k 的种数。求该种数的奇偶性。 思路:对A数组建立一个bitset,然后对于B数组,对它的倍数建立一个bitset,当枚举i为余数的时候,大于i的B[j]的倍数都存放在了第二个bitset里面了。因为这里讨论的奇偶性,所以当一个地方出现两个数的时候,直接flip原创 2017-09-09 10:07:43 · 419 阅读 · 0 评论