2017年夏天的多校赛
文章平均质量分 73
Lazines_by
好吧,我要工作了
展开
-
hdu6121(模拟)
题意:对k叉完全树的各个节点按的个数进行亦或。思路:当两个子树的完全相同的时候,不需要进行亦或。当k > 1 时,树的深度为logk级别的,直接dfs不会超时。#include#include#include#include#include#include#include#include#includeusing namespace std;const int原创 2017-08-16 10:38:22 · 352 阅读 · 0 评论 -
hdu 6153(扩展KMP)
题意先翻过来,后缀先变前缀(不想描述后缀啦^_^)给出两个串,这里我们记作S串和T串对于T串的一个前缀t串,求出t串在S串中出现了多少次,这个小t串对答案的贡献就是”次数 * t的长度”求T串所有符合条件的前缀对答案的贡献和解决 对拓展KMP没经验 不管三七二十一,先翻转过来再说… 重点,我们求出在S串里,以下标i开始,有多长的原创 2017-09-07 17:39:19 · 239 阅读 · 0 评论 -
hdu6170(dp)
这个题的会有很多情况,表示自己是一个DP弱手,和队友找了很多情况,最后把答案弄出来了。PS:一直很辛苦地造样例,辛苦了队友haozx#include#include#include#include#includeusing namespace std;typedef long long ll;typedef pair P;#define fi first#原创 2017-08-23 09:54:47 · 485 阅读 · 2 评论 -
hdu6166 二进制枚举dijstra
题意:在有向图的一堆点中找出两个点他们的距离最小。思路:建立一个虚源点和一个虚汇点,跑20次dijkstra。根据每次找出每一个与虚点相连的情况。PS:不是太懂这个想法。#include#include#include#include#includeusing namespace std;typedef long long ll;typedef pair P;#原创 2017-08-23 09:46:44 · 358 阅读 · 0 评论 -
hdu 6103 (尺取)
题意:求一某一个对称轴对称的两个字符串的相差绝对值之和小于等于m的最大的长度。思路:枚举对称轴,进行尺取。O(n^2)#includeusing 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 · 324 阅读 · 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 · 285 阅读 · 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 · 363 阅读 · 0 评论 -
hdu6040 (nth_element函数)
题意:搞糟出一个数组,查询整个数组第k大。思路:可以运用nth_element函数,nth_element函数是把第k大的数放在第k位,然后左边都是比它小的数,右边都是比它大的数,顺序任意。为了更优化一些,先将要查询的数列排个序,然后从后往前进行查询,因为输入保证任意两个小的之和小于第三个所以查询数列的间隔一定大于等于斐波那契,也就是从大到小查询的话,每次至少能去掉一半的区原创 2017-07-26 15:08:11 · 629 阅读 · 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 · 373 阅读 · 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 · 315 阅读 · 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 · 437 阅读 · 0 评论