上一页 1 ··· 40 41 42 43 44 45 46 47 48 ··· 69 下一页
摘要: 简单暴力题,读入%lld会WA,%I64d能过。 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; const int maxn=100+10; int T,n; s 阅读全文
posted @ 2016-03-11 13:07 Fighting_Heart 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 这个问题可以转变一下,先要知道有几个连通块,连通块之间肯定需要添加一条边, 还需要知道每个连通块内部需要添加几条边,这个问题等价于求一张图至少需要几笔画成,这个问题的答案是度为奇数的点的个数/2 #include<cstdio> #include<cstring> #include<cmath> # 阅读全文
posted @ 2016-03-11 13:05 Fighting_Heart 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 简单贪心。问题等价于给你n个区间,选择最少数量的区间,使这些选出来的区间覆盖住[1,n]。 #include<cstdio> #include<cstring> #include<cmath> #include<stack> #include<algorithm> using namespace s 阅读全文
posted @ 2016-03-10 20:24 Fighting_Heart 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 简单贪心。注意输出格式,每到80个字符就换一行。 #include<cstdio> #include<cstring> #include<cmath> #include<stack> #include<algorithm> using namespace std; const int maxn = 阅读全文
posted @ 2016-03-10 19:31 Fighting_Heart 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 蚂蚁掉头等于不掉头。 #include<cstdio> #include<cstring> #include<cmath> #include<stack> #include<algorithm> using namespace std; const int maxn=1000000+10; int 阅读全文
posted @ 2016-03-10 19:07 Fighting_Heart 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 双塔DP+输出路径。 由于内存限制,DP只能开滚动数组来记录。 我的写法比较渣,但是POJ能AC,但是ZOJ依旧MLE,更加奇怪的是Uva上无论怎么改都是WA,其他人POJ过的交到Uva也是WA。 #include<cstdio> #include<cstring> #include<cmath> 阅读全文
posted @ 2016-03-10 12:09 Fighting_Heart 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 双塔DP。 dp[i][j]表示前i个物品,分成两堆(可以不全用),价值之差为j的时候,较小一堆的价值为dp[i][j]。 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace s 阅读全文
posted @ 2016-03-09 21:45 Fighting_Heart 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 矩阵快速幂+构造。 首先我们要计算出需要构造的矩阵大小是多少,这个可以构造矩阵,进行矩阵快速幂求得。 S[n]就是求得的矩阵大小。 接下来就是构造答案了:如果S[n]是奇数或者0,显然无解。 偶数的话,可以构造答案,下面以6*6为例: 下三角全是-1,上三角全是1,对角线上-1与0间隔填写。 #in 阅读全文
posted @ 2016-03-09 18:46 Fighting_Heart 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 矩阵快速幂。 样例是这样构造矩阵的: 矩阵很好构造,但是500*500*500*logk的复杂度显然是无法通过这题的。 其实本题构造出来的矩阵是一个循环矩阵,只需直到第一行或者第一列,即可直到整个矩阵是怎么样的。 所以,中间计算的时候,需要直到第一行是什么即可,即1*n的矩阵乘n*n的矩阵。时间复杂 阅读全文
posted @ 2016-03-09 14:57 Fighting_Heart 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 双塔DP。 #include<cstdio> #include<cstring> #include<queue> #include<string> #include<algorithm> #include<map> #include<iostream> using namespace std; co 阅读全文
posted @ 2016-03-08 19:56 Fighting_Heart 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 直接走,或者回一次头反向走。 预处理前缀费用,反向的时候 二分查找一下。 WA点:注意一开始就可以往左。 #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int maxn=5e5 阅读全文
posted @ 2016-03-08 08:40 Fighting_Heart 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 两种距离相等,必然是在一条竖直线上或者一条水平线上。重复的再减一下即可。 #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <vector> #include <queue> #i 阅读全文
posted @ 2016-03-08 08:38 Fighting_Heart 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 乱搞题,先对序列排序,每次找到最小的没用过的比前一个大的数字放上去,找不到放没用过的最小的放上去。 #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <vector> #inclu 阅读全文
posted @ 2016-03-08 08:37 Fighting_Heart 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 水题。 #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <vector> #include <queue> #include <set> #include <map> #incl 阅读全文
posted @ 2016-03-08 08:35 Fighting_Heart 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 间隔小的时候dp预处理,大的时候暴力。。正确做法不会。。。 dp[i][j]表示以i为开头,间隔为j的和,递推:dp[i][j] = dp[i + j][j] + a[i] 测试数据中间隔可能是0...... #include<cstdio> #include<cstring> #include<c 阅读全文
posted @ 2016-03-07 09:51 Fighting_Heart 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 水题。 #include<cstdio> #include<cstring> #include<cmath> #include<string> #include<algorithm> using namespace std; long long L, R; string Q = "XHUSTACM" 阅读全文
posted @ 2016-03-07 08:29 Fighting_Heart 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 暴力打表。 #include<cstdio> #include<cstring> #include<cmath> #include<string> #include<algorithm> using namespace std; long long a[10000]; long long L, R; 阅读全文
posted @ 2016-03-07 08:28 Fighting_Heart 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 首先进行一次括号匹配,把正确匹配的全部删去。 删去之后剩下的状态肯定是 L个连续右括号+R个连续左括号。 如果L是偶数,答案是L/2+R/2; 否则答案是 (L-1)/2+(R-1)/2+2; #include<cstdio> #include<cstring> #include<cmath> #i 阅读全文
posted @ 2016-03-07 08:27 Fighting_Heart 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 预处理一下,然后o(1)询问。 #include<cstdio> #include<cstring> #include<cmath> #include<string> #include<stack> #include<map> #include<algorithm> using namespace 阅读全文
posted @ 2016-03-07 08:25 Fighting_Heart 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 水题。 #include<cstdio> #include<cstring> #include<cmath> const int maxn = 100 + 10; char s[maxn], v[maxn], h[maxn]; int main() { int T; scanf("%d", &T); 阅读全文
posted @ 2016-03-07 08:24 Fighting_Heart 阅读(186) 评论(0) 推荐(0) 编辑
上一页 1 ··· 40 41 42 43 44 45 46 47 48 ··· 69 下一页