自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

rhy

好好学习天天向上

  • 博客(81)
  • 收藏
  • 关注

原创 hdu 1429 二进制 位压缩 bfs

找大神代码学了下二进制状态压缩用key&(1只有十个钥匙 所以可以用状态数组第三维表示这些钥匙分别有或无的状态 用位压缩来记录不同的钥匙状态10表示第2把钥匙的状态, 1100表示有第3把和第4把钥匙的状态,因为11101110&00100000==00100000 说明那一把钥匙在里面,若为0就不在这里面。如果是小写字母 也就是要是 用|符号可以将二进制下的两个数相加

2013-04-13 14:14:44 576 2

原创 hdu 1536 SG函数模版题

//把可以取多少用sg函数算下#include#include#include#include#include#include#include#include#includeusing namespace std;const int N=10003;int na[103];int b,k,t;int hash[103];int sg[N];void getsg(in

2013-03-27 22:05:46 460

转载 hdu 1868 博弈 SG函数

SG函数真心迷糊看了大神的代码如下#include#includeusing namespace std;int E[1001];void check(){ int H[16],Fib[16]= {1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597}; int i,j; E[0]=0; E[1

2013-03-27 18:39:16 578

原创 hdu 1421 搬寝室 dp

#include#include#include#include#include#include#include#include#includeusing namespace std;const int inf=0x3fffffff;int dp[2002][1005];int a[2005];//dp[k][i] 表示 k 对物品在前 i 个物品的最小值//我怎么感觉

2013-03-26 15:39:06 436

原创 hdu 3199 简单dp

#include#include#includeusing namespace std;__int64 dp[100001];__int64 min3(__int64 a,__int64 b,__int64 c){ a=min(a,b); a=min(a,c); return a;}int main(){ __int64 a,b,c,d;

2013-03-26 14:42:58 520

原创 hdu 2189 母函数简单题

#include#include#include#include#include#include#include#include#includeusing namespace std;int a[155],b[155],prim[50],k;void init(){ k=1; for(int i=2; i<=150; i++) { i

2013-03-26 14:02:33 469

原创 hdu 4503

#include#include#include#include#include#include#include#include#includeusing namespace std;int main(){ //考虑反面 正面3人互相为朋友 或者互相不是朋友 //反面 只两人互相是朋友 或者 不是朋友的里面注意不要包括自己 关系是相互的最后除以2 in

2013-03-26 13:26:28 502 1

原创 hdu 1398 母函数初学

#include#include#include#include#include#include#include#includeusing namespace std;int main(){ int a[320],b[320],i,j,k,n; while(cin>>n&&n) { for(i=0;i<=n;i++)//第一个表达式赋系数

2013-03-25 21:00:40 429

转载 hdu 1517 必胜必败态

//大神贴的一种很好的思路 贴上备忘2)博弈(给出牛人的解题思路)先引入必胜点和必败点两个概念:   必败点(P点) :前一个选手(Previous player)将取胜的位置称为必败点。   必胜点(N点) :下一个选手(Next player)将取胜的位置称为必胜点。算法实现:   步骤1:将所有终结位置标记为必败点(P点);(终结位置指的是不能将游戏进行下去的

2013-03-25 19:13:53 664

原创 hdu 1716 全排列算法

例2.3 设有排列(p) =2763541, 按照字典式排序, 它的下一个排列是谁?                       (q) =2764135.(1) 2763541  [找最后一个正序35](2) 2763541 [找3后面比3大的最后一个数](3) 2764531 [交换3,4的位置](4) 2764135 [把4后面的531反序排列为      135即得

2013-03-25 18:55:17 535

转载 hdu 1143 递推

http://blog.csdn.net/liwen_7/article/details/7998930

2013-03-24 18:31:48 459

转载 hdu 1098 数学归纳法 二项式定理

转载大神空间:http://blog.sina.com.cn/s/blog_5fe933490100ey6r.html题目的关键是f(x)=5*x^13+13*x^5+k*a*x;由于x取任何值都需要能被65整除.那么用数学归纳法.只需找到f(1)成立的a,并在假设f(x)成立的基础上,证明f(x+1)也成立.那么把f(x+1)展开,得到5*( ( 13 0 )x^13

2013-03-24 17:13:19 569

原创 hdu 2108 简单计算几何 判断凹凸

截图摘自大神博客#include#include#include#include#include#include#include#include#includeusing namespace std;int a[1050],b[1050];int main(){ int n; while(scanf("%d",&n)!=EOF&&n) {

2013-03-24 13:54:52 501

原创 hdu 2151 简单dp

#include#include#include#include#include#include#include#include#includeusing namespace std;int dp[120][120];int main(){ int n,p,m,t; while(scanf("%d%d%d%d",&n,&p,&m,&t)!=EOF)

2013-03-24 13:23:36 501

转载 hdu 4515 计算年月日

我太挫了 写了3000len的代码#include#include#include#include#include#include#include#include#includeusing namespace std;int main(){ int n; int sum; int t; while(scanf("%d",&t)!=EOF)

2013-03-23 21:35:16 576

转载 hdu 2062 子集问题

解题思路:首先我们来看看An一共有多少个子集。n=1时,只有{1}一个子集合n=2时,就有:{1}, {2},{1, 2}, {2, 1}4个子集合。n=3时,有{1}, {2}, {3},{1, 2}, {1, 3}, {2, 1}, {2, 3}, {3, 1}, {3, 2},{1, 2, 3}, {1, 3, 2}, {2, 1, 3}, {2,

2013-03-23 18:49:37 484

原创 hdu 2036 计算几何求面积

#include#include#include#include#include#include#include#include#includeusing namespace std;int main(){ int n,i,a[222],b[222]; double sum; while(scanf("%d",&n)&&n) { for(

2013-03-22 20:02:21 385

转载 hdu 1868 找规律

#include#includeusing namespace std;main(){ int n,i,j; while(cin>>n) { j = 0; if(n%2)j = j+1; for(i = 2;i<=sqrt(n);i++) { if(n%i==0)

2013-03-21 17:31:26 1469

原创 hdu 1711 kmp

#include #include#includeusing namespace std;int a[1000020],b[10200];int p[10200];int n,m;void getkmp(){ int i=0,j=-1; p[i]=j; while(i<m) { while(j>=0&&b[i]!=b[j]) j=p[

2013-03-21 16:06:17 379

转载 hdu 2086 数学归纳法

想办法让A0和An+1有联系可由已经给出的函数,推导出n=3;4A1=3A0+A4-6C1-4C2-2C3n=2;3A1=2A0+A3-4C1-2C2n=1;2A1=A0+A2-2C1数学归纳证明:再假设n=5时;5A1=4A0+A5-8C1-6C2-4C3-2C4;再用n=5的情况减去n=4的情况,会得出A1=A0+A5-A4-2C1-2C2-2C3-2C4;再根据已有关系,带

2013-03-21 14:43:43 619

原创 hdu2522 模拟除法 和 无限循环小数的判断

#include#include#include#include#include#include#include#include#include#includeusing namespace std;int a[100009],hash[100009];int main(){    int n;    scanf("%d",&n);    while(n--)

2013-03-21 13:53:36 605

原创 hdu 2087 BF 和 KMP算法

BF算法 :从正文s和模式p的第一个字符出发,将s和p的字符依次逐个进行比较,如果p中的所有字符均与s中的对应字符匹配,则说明匹配成功;如果在比较过程中发现了一个字符不匹配,则将模式p沿正文s向后移动一个字符的位置,然后再从p的第一个字符开始与中的对应字符逐个进行比较。以此类推,直到匹配成功或到达的末段为止。#include#includeint main(){ ch

2013-03-20 17:06:04 462

原创 hdu 1789 贪心

想了好久 先按照减的分数高低排序 相同分数按照时间从小到大排序之后从后遍历 能填的填上 不能填的加sum上 #include#include#include#include#include#include#include#include#includeusing namespace std;struct day{ int a,b;}z[1020]

2013-03-20 13:03:44 372

原创 hdu 1088 字符串

#include#include#include#include#include#include#include#includeusing namespace std;char a[100];int main(){ string z="-------------------------------------------------------------------

2013-03-19 18:13:33 443

转载 hdu 1085 母函数

//给你1,2,5的硬币的数量 要求由这些硬币不能组成的最小的金额//1,2,5的硬币所组成的金额的母函数//Y=(1+x^2+x^3+x^4…+x^n1*1)*(1+x^2+x^4+x^6…x^n2*2)*(1+x^5+x^10+…x^n3*5)#include#include#include#include#include#include#include

2013-03-18 22:41:02 383

原创 hdu 1020 找规律

#include//根据1的位置找规律 #include#include#include#include#include#include#includeusing namespace std;int main(){ int n; while(scanf("%d",&n)!=EOF) { int p=1; int cnt=0

2013-03-18 17:16:47 465

原创 hdu 1062 字符串处理

自己字符串处理太弱了#include#include#include#include#include#include#include#includeusing namespace std;char a[1020];int main(){ int n; cin>>n; getchar(); while(n--) {

2013-03-18 17:13:43 430

原创 hdu 1398

#include#include#include#include#include#include#include#includeusing namespace std;int main(){ int a[320],b[320],i,j,k,n; while(cin>>n&&n) { for(i=0; i<=n; i++)//给第一个表达式

2013-03-18 16:06:40 390

转载 hdu 1018 log10函数

#include #include int main(){ int i,n,a; double s; scanf("%d",&n); while(n--){ s=0; scanf("%d",&a); for(i=1;i<=a;i++) s+=log10(i); printf("%d\n",(int)(s)+1); }return 0;}根据lg(1*2

2013-03-18 10:03:32 377

转载 hdu 判断拐点

拐点 Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)Total Submission(s) : 6   Accepted Submission(s) : 2Font: Times New Roman | Verdana | GeorgiaFont Size: ← →

2013-03-17 11:04:11 546

原创 hdu 1879 最小生成树 prim

http://acm.hdu.edu.cn/showproblem.php?pid=1879prim是任意一点求最小生成树 求出来就是最小生成树的最小了dijkstra是用起始点 结束点的最小生成树 起点终点不定 就用prim了#include#define maxn 105const int inf=100000000;int n;int g[maxn][maxn];i

2013-03-16 11:20:42 407

原创 hdu 2159 二维背包 完全

//杀怪数 可以不满 经验值 可以不满 问的忍耐度 怪物当要装的物品#include#include#include#include#include#include#includeusing namespace std;const int maxn=100+20;int dp[maxn][maxn];int jing[maxn];int ren[maxn];int ma

2013-03-16 11:00:39 319

原创 hdu 3496 二维背包 01

#include#include#include#include#include#include#include#includeusing namespace std;struct film{ int length; int high;}z[200];int dp[120][1200];int main(){ int t; cin>>t;

2013-03-12 18:20:58 377

原创 zoj 2095 求一个数除数的和

#include#include#include#include#include#includeusing namespace std;int m[500000+200];int main(){ int n; int d; d=sqrt(500000.0); m[1]=0; for(int i=2;i<=500000;i++) m[

2013-03-11 22:24:58 551

转载 hdu 1544 双向找回文数个数

#include#include#include#include#includeusing namespace std;char s[5050];int main(){ int p,i,half,left,right,cnt; while(scanf("%s",s)!=EOF) { i=strlen(s); cnt=0;

2013-03-08 20:44:44 609

原创 map 初学 hdu 1800

#include#include#includeusing namespace std;int main(){ int n; while(scanf("%d",&n)!=EOF) { map m; int big=0; for(int i=1;i<=n;i++) { int x

2013-03-04 18:24:50 208

原创 hdu 1873 优先队列 priority_queue

http://acm.hdu.edu.cn/showproblem.php?pid=1873#include#include#includeusing namespace std;char a[10];struct node{ int rank; int num; //优先对列默认递减排列 重载比较函数时候要跟递增排列的相反 bool ope

2013-03-04 18:04:07 181

原创 hdu 2117 模拟除法

#include#includeusing namespace std;int main(){ int n,m; while(scanf("%d%d",&n,&m)!=EOF) { if(n==1) printf("0\n"); else { int temp=1;

2013-03-03 16:26:19 413

转载 入门经典 6.4.2 走迷宫 bfs 用两种输出路径

#include#include#define MAXN 105int n, m, xs, ys, xt, yt;int maze[MAXN][MAXN],vis[MAXN][MAXN],fa[MAXN][MAXN];//fa放父亲编号 maze放图int dist[MAXN][MAXN],last_dir[MAXN][MAXN],num[MAXN][MAXN];int dx[]={-

2013-03-03 15:55:30 456

原创 训练指南 uva 11729 重载运算符比较vector大小

#include#include#include#includeusing namespace std;struct job{ int b,j; bool operator < (const job& x)const { return j>x.j; }};int main(){ int n,T=0; while(sc

2013-03-03 15:40:59 348

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除