- 博客(7)
- 收藏
- 关注
原创 HDU 1051 Wooden Sticks (贪心 + 读不懂题目系列)
思路:按照length排序,如果length一样,按照weight排序,然后暴力枚举。 坑点:题目中的right after 代表着每个树枝最多使之后的一个树枝的花费变成0; 了解了这一点就没有什么难的了。。AC代码:#include <iostream>#include <iomanip>#include <cmath>#include <cstdio>#include <algori
2016-10-10 00:17:52 408
原创 HDU 5918 Sequence I (kmp)
思路:从a串第一个元素i开始作为起点,他的下一个节点位置为i+=p,由此到结尾进行一遍kmp。 然后在从a串的第二个元素开始作为起点,他的下一个节点位置为i+=p,由此到结尾进行一遍kmp。 直到以p位置为起点,进行一遍kmp。至此将a串遍历了一遍,结果也就出来了。AC代码:#include <iostream>#include <cstdio>#include <ctime>#incl
2016-10-04 21:04:27 497
原创 HDU 5914 Triangle (水题)
思路:类似斐波那契数列。AC代码:#include <iostream>#include <cstdio>#include <ctime>#include <cstdlib>#include <string.h>using namespace std;int main(){ int t; cin>>t; int cas = 0; int n; wh
2016-10-04 20:58:54 149
原创 HDU 5867 Water problem (模拟水题)
AC代码:#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <queue>#define LL long longusing namespace std;int a[1010] = {0,3,3,5,4,4,3,5,5,4,3,6,6,8,8,7,7,9,8,8,6};int
2016-10-03 15:07:50 358
原创 HDU 5510 Bazinga (kmp + 小剪枝)
思路:没什么好说的。AC代码:#include <iostream>#include <string.h>#include <cstdio>using namespace std;char s[505][2200];int vis[3000];int nex[505][2200];void getnext(char *a,int j){ int k = 0; for(int
2016-10-02 19:06:46 297
原创 HDU 5514 Frogs(容斥原理 gcd)
题意:有n个青蛙,一开始都在0点,然后有m个石子圈成一圈的石子,石子的编号是从0-m-1的然后青蛙只能顺时针跳,每个青蛙可以一次跳a[i]格,然后所有青蛙都这样一直跳下去然后问你,这些青蛙踩过的石子的编号和是多少?思路:啊我这只弱鸡,,,只能照着大神的思路写下来,,然后就基本一样了。。。#include <cstdio>#include <iostream>#include <cmath>#i
2016-10-02 14:25:24 460
原创 HDU 5512 Pagodas (简单博弈 gcd)
题意:给你n,a,b三个数 a!=b{a != b} ,在 [1,n]{[1,n]} 这个范围内, 构造一个集合,这个集合初始只有 a,b{ a,b } 然后你可以通过加减两种运算对这个集合中的数据进行扩增,直到不能扩增。 注意限制条件:新的元素必须在 [1,n]{[1,n]} 内且最多出现一次 先不能行动的输。 问你先手Y和后手I谁赢?思路:找规律可以发现:在这个最终构建的集合里,最小间
2016-10-01 21:50:13 341
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人