- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 HDU 4870 Rating (概率+高斯消元)
题意:两个账号,初始rating都是0,他每次拿低分的那个号去打比赛,赢了加50分,输了扣100分,胜率为p,他会打到直到一个号有1000分为止,问比赛场次的期望
2014-07-29 10:56:04
564
原创 Codeforces Round 223 380C Sereja and Brackets 树状数组
类似的题目有好多,总结成下面的模型:一个序列,有tot组点对,固定不变,m次查询[l,r]这个区间上能够完全覆盖多少组点对。由于这些点对是固定不变的,不支持任何的插入,修改,删除,所以我们采取离线操作。我们建两颗树状数组来处理这个查询的问题。tr1[i]表示有多少点对的小的点在[0,i]之间;tr2[i]表示有多少点对的大的点在[0,i]之间;那下面这六种点对代表了对于查询[l
2014-01-13 14:04:15
916
原创 ZOJ 3741 Eternal Reality 简单DP
被Level 6坑了,不解释。。。#include #include #include using namespace std;const int maxn=320;int t,n,x,y;int a[maxn];int dp[maxn];int work(int i){ return(a[i]<=t?1:0);}int main(){ // freo
2014-01-12 18:10:59
756
原创 HDU 4765 Tsp 2013长春网络赛G题 DP
第一次看这个题的时候,没有完全的弄清楚给出的三个条件,导致理解出现偏差,之后又重新理了一下题意,终于搞清楚它的意思。题意:卡车司机要送n件货物,从i+点收货,送到i-点,卡车就是一个栈,后收的货物要先送。重点就是这3句话+Mo cannot visit any location more than once.- Mo can't go to location j+ from i
2013-12-05 15:21:28
1449
原创 HDU 4763 2013长春网络赛 KMP
题意:找一个串的前缀,后缀,和中间的一部分,保证彼此不重叠且相等的最大长度。KMP的next[len]就是前缀和后缀的最大相同长度,然后只要二分找一下最优解。找中间是否存在某一个长度的前缀的时候,只要找到某个符合条件的next值大于等于前缀的长度就可以了。#include #include #include using namespace std;const int maxn=101
2013-12-03 21:21:01
761
原创 HDU 4494 Teamwork 2013通化邀请赛 B题 费用流
#include #include #include #include using namespace std;const int maxn=500;const int inf=130;double dist[maxn][maxn];int x[maxn],y[maxn],star[maxn],p[maxn],a[maxn][10];struct edge{ int
2013-12-03 17:35:04
1191
原创 HDU 4084 Campus Design 状压dp
题意:在n*m的格子里面放1*1和1*2的砖块,要求不能放在格子为0的地方,并且使用1*1的数目在[c,d]之间,求方案总数。想了一天也没有想到有效的转移,其实是陷入了一种错误的想法中,转移应该是一块一块的,不应该是一层一层的,终于在看过了别人的代码以后明白了。#include #include #include using namespace std;const int mod
2013-12-02 13:45:23
915
原创 HDU 4810 Wall Painting
题意:给n(n解题思路:把n个数都转成二进制统计每位上1的个数,然后就会发现如果选择k个数,有奇数个1,亦或结果就是1,这样就用组合数算一下就可以了。#include #include #include using namespace std;const long long mod=1000003;long long sum[100];long long c[1100]
2013-12-01 19:02:46
995
原创 HDU 4055 Number String dp
题意大概是给一个长度为n,n后一个数比前一个小,'?'表示大小任意。解题思路:首先想到了一个dp的n^3的算法,状态dp[i][x]表示如果第i个数是剩下的所有数的第x大的,那么之后的序列还有多少种构造方法。那么很容易知道,最后的答案是res=dp[1][1]+dp[1][2]+dp[1][3]+...+dp[1][n+1];状态转移也很容易,if (从i到i+1是增) dp[i][x
2013-11-29 20:01:49
604
原创 HDU 4059 The Boss on Mars
做这个题目需要知道一个数学公式,1^4+2^4+3^4+...+n^4=1/5*n^5+1/2*n^4+1/3*n^3-1/30*n,然后容斥一下,就没有什么了。#include #include #include using namespace std;const int maxn=10010;const long long mod=1000000007;bool is_pri
2013-11-28 19:37:02
758
原创 HDU 4053 or ZOJ 3541 The Last Puzzle 区间dp
HDU 4053 ,提交返回WA,可能是spj有问题吧,害我提交n次以后伤心不已。。。#include #include #include using namespace std;const int maxn=220;int n;int t[maxn],d[maxn],ans[maxn];int dp[maxn][maxn][2];int w[maxn][maxn][2];
2013-11-28 17:58:05
1305
原创 2012 Asia Tianjin Regional Contest
A题想法很简单,就是依次加入一种牌,去判断一下是否可行。但有细节的地方值得注意,一个是不能加已经有4张的牌,还有特殊处理"Kokushi Muso"的时候,注意这种情况,1m,9m,1p,9p,1s,9s,1c,2c,3c,4c,5c,6c,6c 答案可以是7c。B题枚举一下因子,然后进制转换就ok了。C题,不算难的dp,因为最初思考有偏差,导致纠结很久。。。状态dp[i][p1
2013-11-25 19:43:34
786
原创 The 2013 ACM-ICPC Asia Changsha Regional Contest
长沙重现,做了4个水题,H赛后发现卡在忘记用double强制转换上了,真桑心。。。还有两周就是长春Regional了,这个节奏怎么办啊!A题果断二分;C题也很水,推一下公式,然后求解一个一元二次方程搞定!J题是个简单的dp,也没什么好讲的;状态dp[i][num]表示challenger team是i号状态,要挑战的是第num的队伍的胜算最多是多少;j是第num的队伍的状态;
2013-11-25 11:08:13
896
原创 2013 Asia Chengdu Regional Contest
对于这套题目,用了两天,艰难的写了5个题,有的题目感觉有点坑啊! 其中A题 Assignment For Princess 用构造的方法去做,可是很难去证明点什么。 D题 Dinner Coming Soon 题意真心好纠结,在我乱wa10次以后终于搞定题意,AC掉!当然,是由于个人原因,已经进入提交暴躁状态。。。 F题 Fibonacci Tr
2013-11-22 11:33:42
875
原创 POJ 2352 Stars
题目地址:http://poj.org/problem?id=2352题意:在(0)范围内有15000个点,问每个点存在几个比它的横纵坐标都小于等于的点。注意输出依次是存在满足0,1,2...个点的个数。分析:对于第i个点存在几个满足条件的点,只需统计一下x因此,每次按照点坐标的顺序,查找一次y,加入一个y坐标。我最初是用的二叉排序树做的,因为可能达不到平衡的状态,所以各种被T
2013-10-14 23:04:15
541
原创 codeforces 353D.Queue
题目链接:http://codeforces.com/problemset/problem/353/D题意:男女站队,单位时间只能前后两人交换,问使所有女生排在所有男生前面所使用的最短时间。分析:1.队伍最前面的女生到达预定位置不需要时间; 2.设女生1的后面一个女生是女生2。 那么,对于女生2,①如果在她还没有交换到预定的位置,她就达
2013-10-11 11:13:14
1644
原创 ACM POJ 3020 Antenna Placement 二分匹配
题目链接:http://poj.org/problem?id=3020题意:相邻两个点可以圈起来,问图中所有的'*'点都被圈起来需要的最小的圈的个数。分析:1.建二分图; 图中的点可以二分, 2.做二分匹配;ans='*'点的个数-最大匹配;
2013-09-25 22:18:10
634
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人