11 2011 档案

摘要:http://acm.hdu.edu.cn/showproblem.php?pid=295501背包的变形,才开始我就是按这别人说的脑残的办法将概率扩大100000被后计算,概率连续着加。。一直wa中。。无语 啊。最后原来是概率要连成乘的啊。。而且这里把抢劫的钱作为背包体积,V等于抢劫抢得最多的钱,然后直接套用01背包。。View Code #include <iostream>#include <cstdio>#include <cstring>using namespace std;double f[99999],p[107];int c[107];in 阅读全文
posted @ 2011-11-29 23:10 E_star 阅读(205) 评论(0) 推荐(0) 编辑
摘要:1001:求最大子段和,关键是判断当前位置选与不选的状态状态转移方程:dp[i]=max(dp[i-1]+a[i],a[i]);还要记录起点与终点(单独开了一个结构体记录到达每个点的起点与终点)http://acm.hdu.edu.cn/showproblem.php?pid=1003View Code 1 #include <cstdio> 2 #include <cstring> 3 int dp[100007],a[100007]; 4 struct node 5 { 6 int s,e; 7 }p[100007]; 8 int main() 9 {10 int 阅读全文
posted @ 2011-11-29 13:50 E_star 阅读(292) 评论(0) 推荐(0) 编辑
摘要:1000 极度坑爹啊,谁都没想到会是普通的加法。。大整数肯定能过。。呵呵A+B;1001http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1001&cid=374题目也说了从大到小输出可是一排序就不对,最后听他们谁没排序就A了,我就把排序删了,可是老是PE,最后还要处理n==0是就没有人拿了输出换行(陷阱啊。。)贡献了9wa1003http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1003&cid=374这道题应该不是简单题了。将每个点存起来, 阅读全文
posted @ 2011-11-27 20:05 E_star 阅读(410) 评论(0) 推荐(0) 编辑
摘要:http://openoj.awaysoft.com:8080/judge/contest/view.action?cid=47#problem/Jhttp://poj.org/problem?id=1703并查集的题目,才开始做的时候就是想这把他们连接起来,(a,b)顺序从a找b,或从b找a,然后记录路径在判断:可是很多错误,还有在连接两点时部分节点的父亲加点要倒过来很是麻烦。。最后看了别人的结题报告soga..一个人不是属于集合 A,就是属于集合 B。这样,假设 A、B 两个人不是在同一个 gang 中,A、C 两个人不是在同一个 gang 中,就必定有 B、C 两个人在同一个 gang 阅读全文
posted @ 2011-11-27 00:56 E_star 阅读(298) 评论(0) 推荐(0) 编辑
摘要:http://openoj.awaysoft.com:8080/judge/contest/view.action?cid=47#problem/F一个素数帅选法的题目,才开始直接就套模板结构tle应为被题目中的As many as 1000 lines, 给坑了总的时间消耗是1000*10^5.。这样暴力枚举的话肯定会超时,当时就急了,一下把10^5以内的素数都搜出来了,打表水过。。然后为了问日华,原来在素数帅选完了以后再用dp处理一下就好了。。#include<iostream>#include<cstring>#include<cstdio>using 阅读全文
posted @ 2011-11-27 00:50 E_star 阅读(432) 评论(0) 推荐(0) 编辑
摘要:http://openoj.awaysoft.com:8080/judge/contest/view.action?cid=47#problem/G一个优先队列的题目,昨天刚做了一个用优先队列(stl)+bfs的题目,今天看到这个题瞬间1Y ou yeah!#include<iostream>#include<cstring>#include<cstdio>#include <queue>using namespace std;struct node{ char s[100]; int x,y; friend bool operator < 阅读全文
posted @ 2011-11-27 00:35 E_star 阅读(294) 评论(0) 推荐(0) 编辑
摘要:第一题:http://openoj.awaysoft.com:8080/judge/contest/view.action?cid=47#problem/B就是一个贪心,才开始我是买饭时间从小到大排序做,结果贡献了好几次wa无语啊。。最后自己yy了一会发现应该是按吃饭时间从大到小排序,因为吃饭时间最长的先买饭吃饭这样后面的人在他吃饭的时候就可以把买饭与吃饭的事情就做完了。贪心很弱啊。#include <cstdio>#include <iostream>#include <iostream>#include <algorithm>using na 阅读全文
posted @ 2011-11-27 00:31 E_star 阅读(327) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1026才开始自己不清楚什么优先队列,就是直接从终点出发搜索直到找到出发点,记录最近。结果wa很多次,最后问了一下被人,才发现,最短的时间不是单调的每一步还要加上打怪的时间,yy了一下只要在每次出队列之前从小到大排一下队列里面的元素就行了啊。可是我的编码能力可能别太弱了结果没实现,于是就学习了stl中的优先队列的写法,stl 好强大啊。。思路:bfs,优先队列,pre数组记录后继元素,,ptr数组记录到该点的时间,最后递归尚未输出结果(这个地方很难想到,很巧妙)。。View Code 1 #include .. 阅读全文
posted @ 2011-11-26 11:47 E_star 阅读(297) 评论(0) 推荐(0) 编辑
摘要:做这样的比赛既考快速编码的能力,还有快速思维的能力。本人很弱,跌了rating。。加油!!!。。第一题上来就把题意理解错了。。粗心啊。。直接模拟着做就行:1:如果字符串全是大写字母就进行大小写转换:2:如果除了第一个是小写字母其他都是大写字母就进行大小写转换:其他 原样输出。。ct记录大写字母的个数。。if(ct==len||(ct==len-1&&(str[0]>='a'&&str[0]<='z'))) 第二题:我直接就是二了。题目中说的是-10---10结果我二处理成-9--9了。。悲剧啊。。。记录每个数出现的个数 阅读全文
posted @ 2011-11-26 11:04 E_star 阅读(253) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1007一看题目就是一个很裸的最近点对。。暴力的做法是o(n^2)而对于o(nlogn)算法知识理论上理解了,但是还没实现过,好不容西写出来还是tle最后在gsb的指点下总算是A了。。汗。。#include <iostream>#include <cstdio>#include <algorithm>#include <cmath>const int max_s = 100007;using namespace std;const int M = 99999999 阅读全文
posted @ 2011-11-24 22:27 E_star 阅读(324) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1028以为是个很简单的递推可是退了三页信纸都没推出来,最后还是看了人家的结题报告,好高深啊。。不好推;这里粘一下人家的吧,感觉很好:在正整数n的所有不同划分中,将最大加数n1不大于m的划分个数记为q(n,m)。可以建立q(n,m)的如下递归关系:<1>q(n,m) = 1, n >= 1当最大加数n1不大于1时,任何正整数n只有一种划分形式,n = 1 + 1 + 1 +...+ 1<2>q(n,m) = q(n,n), m >= n最大加数n1实际上不能大于n<3& 阅读全文
posted @ 2011-11-23 23:49 E_star 阅读(242) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1598才开始是我看着没什么思路,心想就用dfs暴搜试试吧(本人太爱dfs了)。结果加了各种剪枝都都是TLE无语。。最后听von说用并查集,给我讲了讲才明白,不过开始的时候把边的最大值开成点的最大值了贡献了4次wa才检查出来。。无语了,自己太马虎了。。思路:先将各个边按限速排序,然后从最大的开始里循环用并查集建树,直到起点与终点的父亲相同说明此事s与e已经建立联系,然后用开始循环的节点的速度(该路线上的最大速速)减去最后将s,e连接的边的速度就是该路径上的Vmax-Vmin的最小了。。#include < 阅读全文
posted @ 2011-11-23 23:43 E_star 阅读(286) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1097快速幂取模我理解就是将其幂不断的二分后往前推得过程,奇数的时候先分出一个来变成偶数。。。杭电怎么不认识long long了??改成__int64就对了。。#include <iostream>#include <cstdio>using namespace std;__int64 result(__int64 a,__int64 b,int m){ long long d,t; d=1; t=a; while (b>0) { if (b%2==1) ... 阅读全文
posted @ 2011-11-23 09:34 E_star 阅读(246) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2570我真是二啊本来一道挺简单的贪心我愣是想用01背包做,做吧可是还没做出来,不知道哪位用01背包做的可以给我讲讲。从小到大排序知道出现大于w的跳出。。哎写的时候各种错误。。粗心啊。。#include <cstdio>#include <cstdlib>#include <cstring>int cmp(const void*a,const void *b){ return *(int*)a-*(int*)b;}int main(){ //freopen("d.t 阅读全文
posted @ 2011-11-23 09:29 E_star 阅读(261) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示