
多校
Cry_Kill
坚持自己的梦想
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU 6034 Balala Power!
题目地址 题意:就是把a-z转化为0-25的数字,不能重复,不能出现前导0,让你求出给出的n个字符串的和最大为多少 思路:我们比赛的时候写这题瞬间想到了权重去贪心求出选择字母对应的数字,然后又因为觉得100000太大了,不能算出结果来,连高精度都不行,于是就讨论觉得拓扑排序好像可以然后就成功的卡题目了,最后发现拓扑排序虽然可以解决上下级的关系,但是如果遇到一个字母的个数特别多,足以取代在他前面的原创 2017-07-26 16:47:51 · 237 阅读 · 0 评论 -
HDU 6095 Rikka with Competition
题目地址 题意:告诉你n个人的能力值,求出最后的赢家会有哪些。他的获胜条件要不是赢得那方的能力值减去输的那方的能力值,或者随机赢 思路:排序,从大到小去找,知道有一个是一定赢得为止,遍历过的数就是最后的可能的赢家数量原创 2017-08-08 19:37:15 · 344 阅读 · 0 评论 -
HDU 6090 Rikka with Graph
题目地址 题意:给你n个点和m条边,让你去尽可能的连点,如果是两点之间不能到达,他们的距离就是n,反之则为距离为连的长度 思路:先所有的边都用去连1,这样的话就是连n-1条边(得到的情况就是与1相连的点距离为1,其他为2),所以判断一下能不能有n-1条边,如果有的话剩余的边就连非1的点,这样的话和就是减少2的代价,然后这样求就好了(看代码)原创 2017-08-08 18:02:37 · 236 阅读 · 0 评论 -
HDU 6069 Counting Divisors
题目地址 题意:那个函数是求该数的因子个数,让你求出l~r这个区间中所有数的k次方的d()的和 思路:有一个公式是若i=p1^a1×p2^a2×p3^a3*…pk^ak,则i^K=p1^(a1*K)×p2^(a2*K)×p3^(a3*K)…*pk^(ak*K),i^K的约数的个数就是(a1*K+1)(a2*K+1)(a3*K+1)…(ak*K+1),所以做两次筛选,第一次筛选出10^6的素数,第原创 2017-08-04 16:58:51 · 302 阅读 · 0 评论 -
HDU 6058 Kanade's sum
题目地址 题解:求一个全排列中的任意区间的区间第k大的和 思路:假定num[i]为区间第k大,然后先向右查找(不够再向左查找),然后就再向左删除(详细看代码)原创 2017-08-03 20:28:17 · 408 阅读 · 0 评论 -
HDU 6103 Kirinriki(尺取法)
题目地址 题意:给你一个字符串,把它尽可能的分割出两个长度相同的字符串,并且两个字符串的dis要小于等于m,求出这个长度。 dis的求法: 思路:因为字符串的长度之和只有20000,所以可以枚举中心点,然后对于每个条件通过尺取法去求出符合条件的长度原创 2017-08-11 00:14:30 · 380 阅读 · 0 评论 -
HDU 6105 Gameia
题目地址 题意:给你一个树,然后对节点进行染色,告诉你有n个节点,以及Bob有m次删边的机会,你随时随地都可以删(其实这就是一个屁话,和一开始删除是一样的),然后n-1个数,告诉你从2到n的父亲节点是哪个点,给点染色的方法是 Alice可以任选一个空节点染色(白色) Bob选择一个空节点染色(黑色),然后把他的儿子节点也给染色(不管之前是什么颜色,之后都为黑色)思路:就是一个图+博弈的原创 2017-08-12 00:52:43 · 414 阅读 · 0 评论 -
HDU 6168 Numbers
题目地址 题意:你原本有一个a序列,然后a序列可以每两个求和得到一个b序列,然后现在ab序列搞混了,希望你能找到a序列 思路:因为b序列是由a序列求和得到的,所以a序列一定是有给你的和序列的最小值,因为map内部是对索引排序的,所以可以直接用map选就好了,新选出的值,然后和之前选出来的求和,把个数在map减去。然后一步一步来就好了原创 2017-08-22 20:45:59 · 206 阅读 · 0 评论 -
HDU 6170 Two strings
题目地址 题意:告诉你两个字符串,第二串有两种特殊字符(第一种是’.‘可以代表任意字符,第二种是’*‘可以复制任意次前一个字符,或者为空字符,或者删除前一个字符),求两个字符串能不能匹配。 思路:通过dp的想法,dp[i][j]代表的是第一个字符串的到第i个字符,与第二个字符串到第j个字符能不能匹配,能匹配就赋那个字符。着重讲一下为什么第一个字符串是从0开始但是第二个字符串是从1 开始的,因为原创 2017-08-22 20:57:41 · 383 阅读 · 0 评论 -
HDU 6181 Two Paths(次短路变形)
题目地址 题意:给你一个图,有两个人比赛,第一个人一定会走最短路,求第二个人最短走多长(路径不能和最短路完全一样) 思路:有两种可能,一种是次短路,还有一种是最短路之中找到一条最短的边再重复走一遍,取最小就好了。(次短路直接用模板就好了)原创 2017-08-24 23:41:54 · 557 阅读 · 0 评论 -
HDU 6180 Schedule
题目地址 题意:有m个工程,一台机器在同一时间只能运行一个工程,告诉你每个工程的起始时间和结束时间,求出最少要多少个机器以及最小的机器总运行时间(机器开始了就不能停了,知道用完该台机器才停止)。 思路:先按起始时间排序,再用两个优先队列去维护(一个大的优先级更高用于空闲序列,一个小的优先级更高用于运行序列),然后直接模拟就好了,每次都先把运行序列中比当前开始时间小的弹出到空闲序列,再从空闲序列中原创 2017-08-24 23:37:57 · 554 阅读 · 0 评论 -
HDU 6178 Monkeys(树上的二分匹配+fread)
题目地址 题意:你有n个节点,n-1条边构成一棵树,有m个猴子,猴子要在节点上,并且每个猴子至少要和另一只猴子有边相连,求最多需要多少条边 思路:最好的应该是猴子都是两两匹配的,因为每2个猴子相连的话,每只猴子的代价为0.5条边,但是超过的话就是多出来的每只猴子的代价为1条边。所以就能想到可以用二分匹配求出二个猴子的集团数有多少个,然后剩下的猴子随便加一条边连上一个集团就好了(因为代价都是为1条原创 2017-08-24 23:31:23 · 648 阅读 · 1 评论 -
HDU 6047 Maximum Sequence
题目地址 题意:给你两个序列,一个是A序列,一个是B序列,序列B告诉你你可以取max(a[i]-i)(b[j]<=i<=MAX),让你求出新添加的和为多少 思路:把A序列从后往前遍历,求出A[i]-i,每次对A[i]赋值的时候选取的是A[i]-i和A[i+1]的最大值,因为后面的如果大是一定能够选到的,然后再用一个变量去记录后面生成的有没有比前面大的,再更新那个变量,最后得出的和就是最大的了。原创 2017-07-28 00:15:17 · 239 阅读 · 0 评论 -
HDU 6045 Is Derek lying?(思维)
题目地址 题意:就是告诉你有两个人去做选择题,选项有A,B,C三个,给出两个人选择的答案,然后一个人告诉大家,他们两个人的分数分别为多少,但是那个人会撒谎,判断下他是不是撒谎的 思路:就是求出A和D两个人选的相同的个数为aa,不同的为bb,然后假定A的分数是正确的,求出D的最大分数和最小分数,判断所给的D的分数是不是在这个区间里的就好了原创 2017-07-28 00:01:59 · 261 阅读 · 0 评论 -
HDU 6092 Rikka with Subset
题目地址 题意:你有你个长度为n的A序列,A序列集合的子集的和的个数为B[和],就是说序列B的每一项的值都是序列A的子集的和等于该下标的个数,求出A序列 思路:从前到后去遍历,加一个buff的数组去记录加入这个元素之前个元素的值,然后加上这个数以后就把b的值改变,如果遍历B的时候发现不等于0,就说明一定要至少一个该值,然后再B数组减去buff数组,再更新buff数组,就可以求出该序列了(PS:空原创 2017-08-08 20:07:25 · 341 阅读 · 0 评论