- 博客(67)
- 收藏
- 关注
原创 POJ - 1273 Drainage Ditches(最大流)
裸的最大流,贴上刘汝佳紫书上的模板就能过。 #include #include #include #include #include #include #include #include using namespace std; const int maxn=420; const int INF=0x3f3f3f3f; struct Edge { int from
2014-11-25 19:25:22
663
原创 HDU - 5101 Select
题目大意: 给定一些集合,选择两个来自不同集合的数,加和大于k,问有多少种选择方案。 解题思路: 答案=从所有数中选择的两个加和大于k的数的方案数-在同一个集合中选择的两个加和大于k的数的方案数 而对于同一个集合中选择的两个加和大于k的方案数是可以直接排序然后利用单调性快速统计出来的。
2014-11-16 20:08:28
761
原创 POJ - 3468 A Simple Problem with Integers(线段树)
成段增减,区间求和。 #include #include using namespace std; #define lson l,mid,rt<<1 #define rson mid+1,r,rt<<1|1 typedef long long LL; const int maxn=110000; LL sum[maxn<<2], col[maxn<<2]; void pushup(i
2014-11-14 22:03:02
485
原创 HDU - 5088 Revenge of Nim II
Nim游戏的后手作弊移走一些整堆的物体(不能全拿走),可以保证先手必败吗? Nim游戏先手必败的条件是XORSum(a[i])=0。后手的目的就是找到这样的一个非空子集。把这里的a[i]看做一个每位为0或1的行,所有的数字组成一个矩阵,矩阵空间的运算是XOR。如果这个矩阵满足性质Rankmat=RowNummat,那么它的任意一个子集的XORSum都不相等,且非空子集的XORSum不为0,否则矩阵
2014-11-02 14:29:19
561
原创 HDU - 4336 Card Collector(概率dp)
#include #include #include #include #include using namespace std; double d[(1<<21)+100], p[22]; int n; void dp() { d[(1<<n)-1]=0; for(int i=(1=0; i--) { d[i]=0; doub
2014-11-01 15:03:43
644
原创 HDU - 4405 Aeroplane chess(概率dp)
#include #include #include #include #include using namespace std; double d[110000]; int n, m, line[110000]; void dp() { for(int i=n-1; i>=0; i--) { d[i]=0; if(line[i]!=-
2014-11-01 12:08:51
519
原创 HDU - 5083 Instruction(模拟)
一个简单模拟,各种考虑不全。。 先考虑编码,首先找到operation对应的编码,如果是SET就找后面的一个R后面跟着的数字a,令b=0,否则找后面第一个R后面的数字当作a,第二个R后面的数字当作b,最后依次输出operation二进制编码,a, b的二进制编码。 再说解码,先将前6位,中间5位和后面5位转化成十进制记为oid, a, b。如果oid1||oid>6就是Error
2014-10-26 21:57:34
579
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅