自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(211)
  • 资源 (1)
  • 收藏
  • 关注

原创 HDU 2149(public sale)

题目链接:点击打开链接题目分析:BASH GAME。对于m                     m>n时,如果m%(n+1)==0时,后手一定赢。                    如果m%(n+1)!=0则,先手可以拿走m%(N+1)代码如下,欢迎斧正#include#include#include#include#include#include#in

2013-09-29 11:23:16 601

转载 【转】博弈知识汇总

博弈知识汇总有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的数学原理。下面我们来分析一下要如何才能够取胜。(一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜

2013-09-28 20:52:58 614

原创 hdu 1846 博弈

题目链接:点击打开链接题目分析:典型的巴什博弈。相关链接:点击打开链接#include#include#include#include#include#include#includeusing namespace std;int main(){ int n,k,t; scanf("%d",&t); while(t--) {

2013-09-28 20:50:37 616

原创 hdu 4764(stone) 巴什博弈

题目链接:点击打开链接、题目大意:T和J,轮流写数字,前面一个人写x那么后面一个人写y 要使得1=n则输了题目分析:博弈(bash game),转化。考虑你n-1的情况。如果某人在n-1处了,则另一个人必输。变为n-1个石头,每人轮流拿。                   每次都不为空的,拿不超过k。                   如果m%(k+1)==0,对于每次T拿,都

2013-09-28 20:34:11 1721 1

原创 hdu 2602 Bone Collector(0 1 背包简单入门)

题目链接:点击打开链接资料链接:1.点击打开链接 1.整理如下:动态规划的基本思想:将一个问题分解为子问题递归求解,且将中间结果保存以避免重复计算。通常用来求最优解,且最优解的局部也是最优的。求解过程产生多个决策序列,下一步总是依赖上一步的结果,自底向上的求解。动态规划算法可分解成从先到后的4个步骤:1. 描述一个最优解的结构,寻找子问题,对问题进行

2013-09-27 21:30:31 729

转载 LCS(最长公共子列--动态规划)

资料大家分享链接1:点击打开链接链接2:点击打开链接

2013-09-20 21:06:06 651

原创 hdu 4466 Triangle

题目链接:点击打开链接题目大意:将长度为n的截为1.全部全等的三角形2.都是完整的。问不同的方法有多少种题目分析:参考大神的方法:推荐->点击打开链接                 首先我们考虑周长为m的三角形有多少个我们假设 a这里分为两种情况 b=c那么对于c的上界,c最大取floor((x-1)/2),因为a最少为1对于c的下界,c最

2013-09-20 20:02:06 596

原创 hdu 4737 (A Bit Fun) 异或

题目链接:点击打开链接题目大意:对于一串数,不同的位置取或,使其最终答案小于m题目分析:暴力+剪枝就过了= =。#include#include#include#include#include#include#include#define maxn 100005using namespace std;__int64 a[maxn];int n;__int

2013-09-14 19:41:50 1215

原创 hdu 1716(排列2)

题目链接:点击打开链接题目分析:类同白书p116先贴下不可重复的排列如下:#include#include#include#include#includeint i,data[4],len=0,j;void print_permutation(int n,int *a,int cur)//利用递归的思想{ int i,j; if(cur==n)

2013-09-14 10:00:40 756

原创 hdu 2109(fighting hdu)

题目链接:点击打开链接题目分析:水题#include#include#include#include#includeusing namespace std;int jap[105];int chin[105];int main(){ int n,i,j,c; while(scanf("%d",&n)==1&&n) { for

2013-09-14 09:41:34 870

原创 hdu 2111(Saving HDU)

题目链接:点击打开链接题目大意:中文表述不再多说题目分析:其实还是贪心法#include#include#include#include#includeusing namespace std;typedef struct data{int price;int volumn;} D;D info[105];int cmp(D x,D y){ retu

2013-09-14 09:37:50 750

原创 hdu 4627 The Unsolvable Problem

题目链接:点击打开链接题目大意:给予n,找到a+b =n,并且a,b最小公倍数尽量大题目分析:从中间向向两边找。若n为奇数,n/2和n/2+1;若为偶数,分为两种情况:1.如果n/2为奇数,则n/2+2和n/2-2,如果n/2为偶数则n/2-1和n/2+1注意边界就行了#include#include#include#includeusing namespace

2013-09-14 09:27:10 868

原创 hdu 2136(Largest prime factor)

题目链接:点击打开链接题目分析:利用素数打表题目总结:又是受到了筛选发的影响,直接打i*i#include#include#includeusing namespace std;int num[1000005];void init(){ memset(num,0,sizeof(num)); int c=1; for(int i=2;i<100

2013-09-13 20:55:05 650

原创 poj 1001 (Exponentiation) 高精度乘法

题目链接:点击打开链接题目大意:求一个有理数的n次方题目分析:这么大的数就是高精度乘法,然后有些具体的要求。用数组的方法。题目总结:具体看下discuss里面的数据很不错。#include#include#include#include#include#define maxn 20000using namespace std;int n,dot,len

2013-09-13 20:28:18 919

原创 HDU 4727 The Number Off of FFF (水题)

题目链接:点击打开链接题目大意:有一列士兵顺序报号(依次加一),如果是正确报数,应该依次加一,从左向右(即1,2,3……X);               现在我们从原始队伍中抽取一个连续的队列,这里有N个士兵。换句话就是,我们有N个士兵一次编号在A到A+N-1之间(1 题目分析:就是要判断第一个是否错误,然后就O(N)的复杂度题目小结:队友的错误我总是能一眼就看出来,但是自己

2013-09-12 11:21:57 721

原创 HDU 4720 Naive and Silly Muggles(计算几何)

题目链接:点击打开链接题目大意:要求给的目标点在题目给的3点组成的圆圈之外才算safe,否则为danger题目分析:第一反映为外接圆,但是仔细一想就没必要。比如钝角三角形最大角的顶点就没必要在圆上;自然就先判断是否为钝角或则直角,方法为先找最大边,因为最大边对应                     的为最大角。直接判断这个角是否为钝角就行。如果为钝角,则圆心就是最长边的

2013-09-12 10:57:58 1195

原创 hdu 1695(GCD) 容斥+欧拉函数

题目链接:点击打开链接题目大意:在a~b中找x,c~d中找y。x,y的GCD为k的对数题目分析:【1】由于xy的最大公约数为k,那么除去x,y其他因数必然互质,问题转化为在b/k和d/k中找x,y互质的对数,这是一一对应的关系                    【2】规定b                    【3】明显在小范围(1~b)就使用欧拉函数:欧拉函数是少于或等

2013-09-10 10:30:45 890

原创 poj 2342 anniversary party(树形dp入门)

题目链接:点击打开链接题目大意:给一些关系,都是上下级的关系,但是同时出现在party上就会不开心,每个人都有一个开心值,于是主板要使得party的开心值最大,则题目分析:很裸的树形dp。很不错的模板题目。用二维的dp[ i ][ 0 ],dp[ i ][ 1 】来表示来还是不来。最后算最大的max(dp[ root ][ 0 ],dp[ root ][ 1 】 )        

2013-09-09 09:59:46 855

原创 hdu 4706(childen‘s day)

题目链接:点击打开链接题目分析:水题,注意pe#include#include#include#include#include#includeusing namespace std;int main(){ int i,n,j; char c='a'; for(n=3;n<=10;n++) { for(i=1;i<=n;i

2013-09-08 19:38:54 1002

原创 hdu 4715(Difference Between Primes)

题目链接:点击打开链接题目大意:give you an even , you should output  the difference of 2 primes题目分析:even though it says if you cannot find the 2 primes you may printf(" fail")                    yet,if you t

2013-09-08 18:53:42 1223

原创 hdu 3853(LOOPS)->概率dp2

题目链接:(oj挂了= =)题目分析:和上次一样很容易分析得到状态转移方程,从后向前写题目反思:1.一开始sab了,直接写dp[i][j]=dp[i][j] *d.self+dp[i][j+1]*d.right+dp[i+1][j]*d.down;                  原来要移项                   2.注意d。self==1时          

2013-09-07 15:44:50 676

原创 hdu 4405 Aeroplane chess(概率dp1)

题目链接点击打开链接题目大意:如同飞行棋的玩法,问到达终点的期望步数题目分析:终于明白为什么要由后往前写了= =,如果没有飞行机会那么进行1~6的推算dp【i】=dp【i+j】/6详见代码~~#include#include#include#include#includeusing namespace std;double dp[100010];int f

2013-09-07 13:49:24 768

原创 hdu 4296(buildings)

题目链接:点击打开链接题目分析:贪心算法+轮换对称 ,a:wi,si;b:wj,sj;对于a在b上:pda:wi-sj        b在a上:wj-si;当a优于b时;wi-sj>wj-si    wi+si>wj+wj #include #include #include #include using namespace std;

2013-09-05 08:35:17 751

原创 poj 2955(Brackets)【 区间dp2】

由于最近练习所以将区间DP的专题拿出来作,感谢博主的推荐:专题地址:点击打开链接题目链接:点击打开链接题目大意:求配对的括号的最大数目题目分析:和之前的几题一样先进行预处理,最重要的是枚举长度,在移动分界点从而进行dp                  dp[i][i+k]=max(dp[i][i+k],dp[i][j]+dp[j+1][i+k]);代码如下,欢

2013-09-03 10:23:07 706

原创 CodeForces 245H (区间dp)

题目链接:点击打开链接题目分析:这是区间dp的模板题 通过容斥原理很容易得出结论                     dp [ l ][ r ] = dp [l+1 ][ r ] + dp [ l ][ r-1 ] -dp [ l+1 ][ r-1 ];                     在用记忆化搜索的解#include#include#include

2013-09-02 16:15:22 1048 1

原创 hdu 4278(Faulty Odometer)

题目链接:点击打开链接题目分析:昨天队里用的模拟方法= =,不过看board,有人一分中秒杀,后来才发现是poj 2719改编                    特殊的八进制代码:#include#include#includeusing namespace std;typedef long long __int64;__int64 ans;char dat

2013-09-02 10:12:03 777

原创 hdu 4287( PHONE LIST)

题意:对应于手机九宫格按键,给你n个数字串和m个字母串,问对于每个数字串,在m个字母串中有几个字母串是由这个按这个数字串的按键生成的。题解:把字母哈希到手机数字按键上,对于每个字母串转化为对应的数字串,再通过map查找之前是否有这个字母串,最后计数输出。代码:之前还想是不是用下字典树,但是发现没有必要。将题目反过来想就行题目链接:点击打开链接#include#includ

2013-09-02 08:58:36 677

转载 Trie 树学习下

感谢作者和博主的分享!原文:点击打开链接Tire树     今天把Trie树彻底的看了下。发现网上有两篇非常好的文章,通过他们的博客,我对Trie树有了大题的了解。并且通过理解 消化 综合他们的知识,再结合我自己的编程爱好,我也把具体的程序实现了一遍,这样能对Trie树有更加深刻的认识! 他们是:勇幸|Thinking  和 Maik 。 感谢他们。 下面的分析也是从他

2013-08-31 11:09:43 740

原创 poj 3630 phone list

题目链接:点击打开链接题目大意:如果一个电话号码为另一个电话号码的前缀,那么就打不通,判为NO题目分析: trie 树的资料见我的转载                    先将电话号码排序,从长到短,进行处理,详见代码,注意数组的大小题目心得:完全自己第一次写的Trie 树,一开始先学习trie 白书2 P 209,然后 做这道题,写完后wa了2 次,觉得自己写的没有错啊

2013-08-31 11:07:48 604

原创 hdu 2063(过山车)

题目链接:点击打开链接题目分析:二分图最大匹配资料链接:陈队长的推荐下看了大牛的博客,终于明白了,经典的模板题   点击打开链接include#include#include#includeusing namespace std;#define maxn 510int k,m,w;int match[maxn][maxn];int left[maxn

2013-08-30 08:42:36 569

原创 hdu 1061

#include#include#includetypedef long long __int64;__int64 origin;int num[10];char n[20];int main(){ int t,len,tmp,digit,count,j,i; scanf("%d",&t); while(t--) { scanf

2013-08-28 11:18:18 550

原创 hdu 1280(前m大的数)

题目链接:点击打开链接题目分析:水题自己的代码,暴力,268MS#include#include#include#includeusing namespace std;int data[3005];int sum[5000000];int cmp(int a,int b) {return a>b ;}int main(){ int n,m,i,j,

2013-08-28 09:44:42 547

原创 poj 1200(字符串hash)

题目链接:http://poj.org/problem?id=1200题目大意:找不同的子串题目分析:多不错的水题,适合我等菜鸟拉。转化为nc的进制,意味着有ans个不同个数代码:#include#include#includeconst int maxn=16*1e6+5;using namespace std;char string[maxn];int letter[3

2013-08-27 20:39:13 720

原创 hdu 1789( 贪心法)

题目链接:点击打开链接题目大意:在deadline内完成作业,要求惩罚的分数最少题目分析:一开始的贪心,贪错了,后来想用栈+替换,结果很搓;后来参考了下人家的做法                   将惩罚的分数最高的放在前面,分数相同将deadlie 小的在前面,惩罚分数小的以自己的时间为尾向前探寻,一旦有“空位”就如坐 #include#include#include

2013-08-27 20:30:41 672

原创 poj 1631(Bridging signals LIS)nlogn

题目链接:点击打开链接、题目大意:绕了这么多圈子,其实还是求最长上升子序列题目分析:用nlog n与 poj2533一样啊:点击打开链接#include#include#include#includeusing namespace std;const int maxn=40005;int stack[maxn];int main(){ freopen("ou

2013-08-26 16:36:50 668

原创 poj 2533(最长上升子序列)(n^2 ) 和 nlogn的算法

题目链接:点击打开链接题目大意:略题目分析:1.用n平方的做法,枚举以data【i】为结尾的子序列,向前查找,比data【i】小并且dp【j】比dp【i】小的新手代码:#include#include#include#includeusing namespace std;const int maxn=1005;int data[maxn],dp[maxn];int

2013-08-26 15:27:07 1050

原创 【树状数组】poj 2352

题目链接:点击打开链接题目大意:统计左下角的矩形的点的个数题目分析:裸的树形数组,第一次写,没有注意x=0; /************************* * Author:sherry * Time: Augest 26th,2013 **************************/#include#include#include#d

2013-08-26 09:15:35 625

原创 hdu 4705 Y(多校赛第十场)

题目链接:点击打开链接题目大意:在一树上的点集合『a,b,c』,使得没有simple path分析:正向分析貌似很多种情况啊,所以想反面。            小菜鸟一枚啊,所以第一次T了啊TT。          这种DFS太暴力了,怎么会不T??附上代码,以示警告。参考了下大神的代码,点击打开链接仍用DFS,这次将3点看为一条线上的枚举中间这个点,但是

2013-08-23 20:57:08 719

原创 hdu 4704--sum(多校赛第十场)快速幂

题目地址:点击打开链接题目大意:很容易得到2^(n-1)%M题目分析:由于n非常大,所以想办法1.第一个方案就是想起FZU 1759点击打开链接

2013-08-23 11:22:59 742

转载 【转】【关于 A^x = A^(x % Phi(C) + Phi(C)) (mod C) 的若干证明】【指数循环节】

附上地址点击打开链接【关于 A^x = A^(x % Phi(C) + Phi(C)) (mod C) 的若干证明】【指数循环节】以下内容全部原创,转载请注明作者 : AekdyCoin 以及本文地址曾经看过如下一个公式:以上的公式如果第一次见到,难免有不少疑惑:为什么可以这么写?限制条件为什么是x >= Phi(C),这个公式为什么正确?今天突

2013-08-23 09:32:57 904

空空如也

空空如也

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

TA关注的人

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