ACM
文章平均质量分 77
qqspeed
最讨厌水题,但悲剧的是难题我做不来!!!
展开
-
hdu 4451 Dressing
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4451注意只有“clothes x pants y” or “pants y shoes z” 这两种表达#include#include#includeusing namespace std;int n,m,k,p,x,y,a[1010],b[1010];char s[10原创 2012-10-31 16:55:35 · 677 阅读 · 0 评论 -
hdu 4438 Hunters
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4438比较选tiger和wolf的期望值,取大者。比如选tiger.则期望=x*(1-q)//BOB选的wolf +q*(p*x+p*y)//bob也选的tiger,所以再射杀tiger后,俩人再去争wolf#includeint main()原创 2012-10-28 22:04:13 · 1256 阅读 · 1 评论 -
数据
http://blog.csdn.net/lyy289065406/article/details/6691328转载 2012-12-30 16:38:57 · 679 阅读 · 1 评论 -
CF 272B Dima and Sequence
a*2 相当于把a的二进制数往左移一位,末尾补0,所以两个二进制的1的个个数相等;a*2+1相当于把a*2的二进制数末尾加1,而2*a的二进制的末尾肯定是0,所以a*2+1的二进制比a*2的多了一个1。所以 ,其实f(x)就是统计x二进制数中1的个数。注意10^9 大约为2^32;所以数组要开到33以上。原创 2013-02-28 19:57:33 · 579 阅读 · 0 评论 -
蓝桥杯预赛 2012年 c++ 本科
8:密码发生器贴代码,不解释 :#include#includeint change(int i){ if(i<=9) return i; else { int t=0; while(i) { t+=i%10; i/=10; }原创 2013-03-02 14:43:08 · 816 阅读 · 0 评论 -
codeforces 214B Hometask
题目链接:http://codeforces.com/problemset/problem/214/B用最纯粹的数学方法做的 首先要满足2与5的公倍数,则里面必须有0;其次对于3:如果sum%3=0,那就好办,直接排序输出; 如果sum%3!=0,那就在这群数中减去余数相同的最小一个,如果没存在余数相同的,就找俩个,因为%3的余数不是原创 2012-08-29 17:27:09 · 762 阅读 · 0 评论 -
原根
http://zh.wikipedia.org/wiki/%E5%8E%9F%E6%A0%B9欧拉函数:void phi_table(){ int i,j; memset(phi,0,sizeof(phi)); phi[1]=1; for(i=2;i { if(!phi[i])转载 2013-03-21 08:43:22 · 672 阅读 · 0 评论 -
hdu 4505 hdu 4506 hdu 4508 hdu4509 hdu 4500
hdu 4505:直接上代码,只需统计最高楼层,和在某一层有多少人!#include#includeusing namespace std;int t,n,a[20];int main(){ scanf("%d",&t); while(t--) { scanf("%d",&n); int i; for原创 2013-03-23 09:19:32 · 1351 阅读 · 0 评论 -
2013.3.20
http://www.tudou.com/programs/view/t2JmrxSyV74/ I never quit!! I never fall back!!!原创 2013-03-20 22:57:05 · 625 阅读 · 0 评论 -
Codeforces Round #181 (Div. 2) B. Coach
#include#include#include#includeusing namespace std;int n,m,a,b;int p[50];int find(int i){ if(p[i]!=i) return p[i]=find(p[i]); return i;}void mege(int a,int b){ a=find(a);原创 2013-05-11 21:59:48 · 916 阅读 · 0 评论 -
错排
http://baike.baidu.com/view/668994.htm转载 2013-05-15 20:27:12 · 617 阅读 · 0 评论 -
Hdu 4561 连续最大积
连续最大积Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 599 Accepted Submission(s): 247Problem Description小明和他的好朋友小西在玩一个游戏,由电脑随机生成一个由-2,0,原创 2013-06-16 12:59:45 · 2074 阅读 · 3 评论 -
hdu 4460 && hdu 4461 && hdu 4463
hdu 4463Outlets裸的最小生成树 ,只是有一条边是必须出现在树中,直接一开始把他们连在一起就行了。hdu 4461The Power of Xiangqi签到的,每个字母有自己的能量,但如果没有同时拥有B和C且总能量本来就>1,那总能量-1,求红和黑谁的能量多hdu 4460原创 2013-06-16 22:05:03 · 1211 阅读 · 0 评论 -
uva Check The Check (模拟)
简单的模拟题,一开始判断下一点是否可行时,大意的把k和K一起认为可行了,结果一直没找到错误,后来大师出马,帮我发现了问题#include#include#includeusing namespace std;char map[10][10];int dx_p[]={1,1},dy_p[]={-1,1};int dx_P[]={-1,-1},dy_P[原创 2013-06-19 22:01:41 · 738 阅读 · 0 评论 -
Shopping Offers (dp)
DescriptionIn a shop each kind of product has a price. For example, the price of a flower is 2 ICU (Informatics Currency Units) and the price of a vase is 5 ICU. In order to attract more cus原创 2013-06-01 09:51:45 · 728 阅读 · 0 评论 -
hdu 4006 (优先队列)
题意:在一个数组中寻找第k大的数,并且会新增加数组元素;方法:用一个优先队列,来存放数组的值,并保持队列元素个数始终#include#include#include#includeusing namespace std;priority_queue, greater > q;//优先队列,详情:http://blog.csdn.net/juhanzhang/原创 2013-03-15 15:55:31 · 953 阅读 · 0 评论 -
poj 2762 Going from u to v or from v to u? (强联通分量缩点 + 欧拉回路或通路)
大概题意:n个点,m条单向的路,问任意的x和y之间是否可达。注意“The son can either go from x to y, or from y to x.”是or,不是and。所以并不是一定只能有一个强联通分量。方法:强联通分量缩点+欧拉回路或通路。#include#include#include#includeusing namespace std;vecto原创 2013-01-14 10:16:21 · 742 阅读 · 0 评论 -
poj 3160 Father Christmas flymouse (spfa + 强联通)
/* 样例给的太水,对题目理解毫无作用。 看了别人的报告才懂得。求最长路。有向图,可能有负边,也可能有环。 所以先缩点,把环缩成一个点。*/#include#include#include#include#includeusing namespace std;struct node{ int s,t,w;};vectoredge[3原创 2013-01-12 22:13:19 · 907 阅读 · 0 评论 -
hdu 1072 Nightmare (BFS)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1072/*走过点可以再走,只要第二次走的时候,剩余时间大于之前走的那次。*/#include#include#include#includeusing namespace std;struct node{ int x,y,t,time;//};i原创 2012-12-15 12:22:08 · 590 阅读 · 0 评论 -
hdu 1254 推箱子 (bfs +dfs)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1254bfs+dfs/*dfs 人到箱子 bfs会超内存*//*接着就 bfs *//*人不能穿过箱子*//*每次推箱子 人要到目标方向的对立方向才能推,所以dfs 看人能不能从当前位置,走到目标方向的对立方*//*某些点 箱子可以经过多次 比如14 31原创 2012-12-15 12:17:36 · 1153 阅读 · 3 评论 -
poj 2513 Colored Sticks (字典树+并查集+无向图的欧拉回路。)
题目链接:http://poj.org/problem?id=2513题目大意就是:给你一些棍子,每根棍子两端涂着颜色,颜色相同的两端可以连在一起,问所有棍子可不可以连在一起。类似于hdu的1116(链接:http://acm.hdu.edu.cn/showproblem.php?pid=1116),差别是1116看的是字母,这看的是单词,这要麻烦些,而且1116是有向图,这是无向原创 2012-11-26 20:42:43 · 767 阅读 · 0 评论 -
kmp next函数 kmp的周期问题,深入了解kmp中next的原理(kmp)
转自大牛的博客:http://www.cnblogs.com/wuyiqi/archive/2012/01/06/2314078.html---------------------------------------------- k m x j i由上,next【i】=j,两段红色的字符串相等(两个转载 2013-06-18 22:02:13 · 783 阅读 · 0 评论 -
hdu 1005Number Sequence (矩阵快速幂)
F(n) a b F(n-1) =原创 2013-06-01 10:53:15 · 1477 阅读 · 3 评论 -
Palindrome (DP)
DescriptionA palindrome is a symmetrical string, that is, a string read identically from left to right as well as from right to left. You are to write a program which, given a string, determines原创 2013-05-30 16:21:17 · 725 阅读 · 0 评论 -
poj 3221 Diamond Puzzle (BFS)
给一个0~6组成的串,用特殊的变换方式,得出"0123456",只有0是空的用的最原始的BFS,因为只有0~6几个字符,而且总的N图中的数字,对应字符串的下标.用d[i][j]表示当0处在i处时,它能和d[i][j]相交换!#include#include#include#include#include#includeusing原创 2013-05-16 19:53:56 · 1083 阅读 · 0 评论 -
最长公共上升子序列 (dp)
http://wenku.baidu.com/view/3e78f223aaea998fcc220ea0.html (1)f[i][j] 表示 a的前i,和b串前 j,以b[j]结尾的LCIS的长度;if(a[i]!=b[j) f[i][j]=f[i-1][j];else f[i][j]=max(f[i-1][k]+1) 1 O(n^3)的复杂度,因为多了转载 2013-03-27 21:19:44 · 1542 阅读 · 0 评论 -
poj 3041 Asteroids (二分匹配)
大概题意:在n*n的矩阵上有k个行星,有一种武器一次可以消去一行或者一列的行星,问最少要用这个武器多少次。方法:行和列匹配,然后最小点覆盖,即最大匹配。#include#include#includeusing namespace std;int map[501][501],vis[501],y[501],n,k;bool dfs(int i){ for(原创 2013-01-14 10:21:29 · 571 阅读 · 0 评论 -
hdu 1142 A Walk Through the Forest (最短路 + 记忆化搜索)
读题不仔细,一直以为是求长度最短的路由多少条!!/*“ He considers taking a path from A to B to be progress if there exists a route from B to his home that is shorter than any possible route from A. ”A点能走到B点的条件,是A与B相连,并且原创 2012-12-22 19:54:02 · 535 阅读 · 0 评论 -
poj 1606 Jugs (BFS)
题目链接:http://poj.org/problem?id=1606bfs+路径保存。#include#include#includeusing namespace std;struct node{ int a[2],f,pre;}q[1001*1001];int vis[1001][1001];int a,b,c;void way(int原创 2012-12-08 13:07:29 · 738 阅读 · 0 评论 -
hdu 1175 连连看 (BFS)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1175题目大意:看起点和终点的路径的拐弯数是否注意:1.起点和终点不能为0 2.起点和终点必须一样 3.vis每次查询前要清0 4.理论上,起点和终点应该不是同一点,但这道题的数据好i型那个没考虑这#include#include#includ原创 2012-12-06 22:56:24 · 860 阅读 · 0 评论 -
hdu 1728 逃离迷宫 (BFS)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1728给你起点位置和终点位置,让你判断能不能到达,并且拐弯数不能超过某个值。注意不要把行列搞混了。刚开始一直WA,因为我把它当一般的bfs走迷宫了,一走到就弹出,这样只是经过的时间最短,拐弯数却不是最优的。看了别人的解题报告,才明白,既然这道题是计算拐弯数,那就把这个方向上能拐弯的都拐了原创 2012-12-05 21:35:49 · 3498 阅读 · 0 评论 -
hdu 4485 B-Casting (数学)
B-CastingTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 370 Accepted Submission(s): 187Problem DescriptionCasting around for原创 2013-06-18 21:53:39 · 1020 阅读 · 0 评论 -
最近点对 (分治)
算法设计与分析的实验。分治法。//存每个点的信息import java.util.*;public class Point implements Comparable{ double x,y; Point(double x,double y){ this.x=x; this.y=y; } //排序时,按x升序排序 public int compa原创 2013-06-18 12:27:55 · 786 阅读 · 0 评论 -
Huffman 编码 (贪心)
以字母出现的频率建一颗二叉树,频率越大的字母的赫夫曼编码越短,这样保证任意一个字母的编码不会是另一个字母编码的前缀,然后遍历吧.(赫夫曼编码不是唯一的)//Word .java,存字母信息public class Word { char c; int w;//出现次数}//HuffmanNode.java,每个赫夫曼节点信息public class原创 2013-06-17 13:18:19 · 1062 阅读 · 2 评论 -
uva 11383 Golden Tiger Claw km模版题 但为什么Wa了呀? (KM)
#include#include#includeusing namespace std;#define INF 0x3f3f3f3fint x[505],y[505],vx[505],vy[505];int w[505][505];int n;int slack,lx[505],ly[505];bool dfs(int i){ int j,t;原创 2013-03-26 22:29:36 · 925 阅读 · 0 评论 -
hdu 1026 Ignatius and the Princess I (BFS)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1026bfs+保存路径 留存#include#include#includestruct{ int x,y,time,pre;}q[110*110];int n,m,vis[110][110],xx[110][110];char s[110][1原创 2012-12-05 16:06:02 · 802 阅读 · 0 评论 -
hdu Cat vs. Dog (二分匹配)
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2768/*求的是最多能满足多少个人,所以map存的是人的情况。最大独立集=顶点数-最大匹配。最小点覆盖=最大匹配如果A和B的选择有矛盾,则AB之间有条路径,然后求最小点覆盖,用最少的点覆盖所有路径,剩余的点就是答案。*/#include#include#in原创 2012-11-30 21:40:10 · 748 阅读 · 0 评论 -
hdu 4185 Oil Skimming (二分匹配)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4185题意,在一个N*N的矩阵里寻找最多有多少个“##”(横着竖着都行)。KM二分匹配就不说了。刚开始不会建图,最多有600*600个“#”,那岂不是要开600*600*600*600的数组Orz.....不过事实证明我想多了,数据没那么狠!#include#includ原创 2012-11-27 20:53:56 · 1679 阅读 · 1 评论 -
hdu 1007 (分治)
不多说了 分治#include#include#include#includeusing namespace std;#define INF 10000000000.0struct node{ double x,y;}p[100000+1];bool cmp1(node i,node j){ if(i.x==j.x) ret原创 2013-06-19 15:25:18 · 780 阅读 · 0 评论 -
hdu 4484 Hailstone HOTPO (暴力)
Hailstone HOTPOTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 356 Accepted Submission(s): 210Problem DescriptionThe hailston原创 2013-06-18 21:55:11 · 1300 阅读 · 0 评论