自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (4)
  • 收藏
  • 关注

原创 hdu 4336 Card Collector(概率DP 或 容斥原理)

题意:有N(1每包至多一张卡片,可能没有卡片。求需要买多少包才能拿到所以的N张卡片,求次数的期望。解析:      这题一看反应就是概率DP,没怎么想到容斥,设dp【i】 表示当前状态i到达目标状态的期望花费(每包一个花费),这时需要二进制进行状态压缩,如6 为110 表示 第0张卡片没有,第1张和第二张有,则 dp【(1          容斥:需要知道,当只

2013-08-29 17:14:45 533

原创 hdu 2204 Eddy's爱好(容斥原理)

题意:给你一个正整数N,确定在1到N之间有多少个可以表示成M^K(K>1)的数。本题有多组测试数据,每组包含一个整数N,1解析:        如果 A^Xi>=1)必然存在,即有A个数满足条件其x次幂        把n作为double型数,对其开k次方(我们不难发现,k  是不是这样算出的结果t就是答案呢?还不是。这一点就不太好想了,让我费好长时间也找不出反例,

2013-08-29 12:18:32 553

原创 hdu 4407 Sum(容斥定理)

题意:给你一个数1~n的序列,m次操作,每次操作可以单点修改,即把a【i】的值改成c; 或一次区间查询,玩第x个数到第y个数之间与p互质的数的和m解析:初看以为是线段树,但大神说是容斥原理,一个p查询进行一次容斥,居然不超时。。。。。。#include#include#include#include#includeusing namespace std;#define N

2013-08-28 20:04:39 489

原创 hdu 1796 How many integers can you find(容斥原理)

题意:求1->n-1之间能被一个集合A内元素整除的数的个数,例如n = 12, A = {2, 3} 则能被A集合元素整除的数的集合为{2, 3, 4 , 6, 8, 9, 10}则结果为7。二进制直接暴力枚举  1000MS 水过。。。re了好多次,,没想到输入忽然还有0,,,#include#include#includeusing namespa

2013-08-27 20:46:06 504

原创 poj 3286 How many 0's?

题意:计算从[a,b]期间中总共有多少个0。思路:比如1234,我们计算1到1234总共出现了多少个0,。当个位有0的时候,出现了123次当十位有0的时候,出现了12*10次当百位有0的时候,出现了1*100次但是若为1204,在计算十位0的个数的时候,是11*10+5,因为当前面是12的时候,最后一位只能取0-4,刚好5个#include#include

2013-08-26 19:46:04 474

原创 poj 1942 Paths on a Grid(组合数模板)

题意:给你一个n*m的矩阵,问从左下角走到右上角有多少种方式? 只可以往右或上走。解析: 容易看出,只有一列直线时,向上有n条线段可以选,每增加一列,可以增加一条线段选择,即答案为c(n+m,n)求解 c(n+m,n) 时,可以直接套模板__int64 C(__int64 m, __int64 n){ if(m > n - m) m = n - m; _

2013-08-26 11:21:08 566

原创 hdu 4465 Candy( 概率 log 组合数 )

题意:两个瓶子里都装了n个糖果;从第一个瓶子拿的概率是p  , 当你再拿糖果的时候,发现瓶子空了 ,求这时候另外一个瓶子的剩余的糖果的数量的期望   (1 ≤ n ≤ 2 × 10^5)这题的概率DP公式好求,即       但c(n,m) 太大,会上溢出, p^k 太小,会下溢出,这时就要用到 log  求组合了对于问题一:  排列过大,考虑到 y = log

2013-08-24 23:23:58 590

原创 zoj 3329 One Person Game(递推方程转化求解系数)

题意:有三个骰子,分别有k1,k2,k3个面。每次掷骰子,如果三个面分别为a,b,c则分数置0,否则加上三个骰子的分数之和。当分数大于n时结束。求游戏的期望步数。初始分数为0设dp[i]表示达到i分时到达目标状态的期望,pk为投掷k分的概率,p0为回到0的概率则dp[i]=∑(pk*dp[i+k])+dp[0]*p0+1;都和dp[0]有关系,而且dp[0]就是我们所求,为

2013-08-23 20:39:20 583

原创 poj 3071 Football(位运算的应用枚举)

题意:2^n个球队比赛,0和1比,2和3比,以此类推,循环比下去,直至只剩下一个队伍,问那个队伍的冠军的的概率最大 ?p【i】【j】为i打败j的概率解析:dp【i】【j】为第i场比赛j胜利的概率 ,则dp【n】【j】的最大值就是答案j  这题的关键是枚举,把球队比赛化成一棵二叉树,每次两个节点比#include#include#include#includeusin

2013-08-23 17:06:40 523

原创 hdu 4704 Sum

题意:求整数划分的个数,即求 2^n % mod   (n解析: 费马小定理,2^n=2^(x+k*(mod-1)) 而 2^(mod-1)%mod=1  (a*b)%mod=((a%mod)*(b%mod))%mod#include#include#include#include#includeusing namespace std;typedef __int64

2013-08-23 08:43:53 499

原创 hdu 3853 LOOPS(不错的入门经典)

题意:给出一个r*c的迷宫,每个格子可以走到(r,c),(r+1,c),(r,c+1),概率分别为p1 p2 p3 ,没走一次消耗2各单位的能量,问从(1,1)走到(r,c) 的平均能量解析:设dp[i][j]表示(i,j)到(R,C)需要消耗的能量则:dp[i][j]=p1[i][j]*dp[i][j]+p2[i][j]*dp[i][j+1]+p3[i][j]*dp[i+

2013-08-22 11:02:01 499

原创 hdu 4405 Aeroplane chess(入门经典)

题意:走飞行棋,从0开始,每次走骰子扔到的点数,当n>=N时停止,有些格子还有桥,如x到y的桥,则x可以直接到y(不扔骰子),m条桥,n+1格格子,问扔骰子的平均次数?dp[i]表示i点跳到目标状态的期望步数#include#include#include#include#includeusing namespace std;#define N 100010do

2013-08-22 09:00:18 528

原创 poj 2096 Collecting Bugs(概率dp入门)

逆着递推求解题意:(题意看题目确实比较难道,n和s都要找半天才能找到)一个软件有s个子系统,会产生n种bug某人一天发现一个bug,这个bug属于一个子系统,属于一个分类每个bug属于某个子系统的概率是1/s,属于某种分类的概率是1/n问发现n种bug,每个子系统都发现bug的天数的期望。求解:dp[i][j]表示已经找到i种bug,j个系统的bug,达到目标状态的

2013-08-21 17:15:11 541

原创 zoj 3646 Matrix Transformer(赤裸裸的模板啊)

题意:一个n*n的矩阵,上面有UP和DOWN两种状态,每次可以交换任意两行或两列,问能否通过交换使得主对角线上的状态都是UP哎!开始看错题目了,以为是博弈。。。。。还是建图最重要啊思路:最后的状态是主对角线上都是UP,转换成每一行每一列都有UP,有点类似棋盘问题,把状态为UP 的行和列当成匹配的对象,连接边建二分图,接下来用匈牙利算法求解最大匹配数#in

2013-08-21 16:06:54 785

原创 zoj 3647 Gao the Grid(矩阵对角线三点共线)

题意:给你一个矩阵,任选三点,问能形成多少个三角形?如 n=3,m=4解析:关键是求斜线上的三点个数: 枚举矩阵,有个公式,即一个(a*b)矩阵,在主对角线上,两端点+中间一点形成三点共线的个数为 (gcd(a,b)-1)*2#include#include#includeusing namespace std;typedef long long LL;LL gcd

2013-08-21 15:15:56 1184

原创 poj 2348 Euclid's Game

题意:给你两个正数,n 和m(假设n>m); 将两者大的减去小的的正整数倍,差必须为非负数,递归循环,谁使得出现0 则 win这题的关键是谁遇到的第一个n大于等于2*m,谁就胜利,以为他们都是聪明的!!如果没有,则一路循环下去,奇数次则第一个人胜利#include#include#includeusing namespace std;typedef long long ll

2013-08-20 10:55:57 472

原创 乘法逆元 (扩展欧几里得或费马小定理)

欧拉定理(又称费马-欧拉定理):已知a和n为正整数,并且a和p互素,则a^phi(n) ≡ 1(mod n)。证明:  设集合Z = {X1, X2, X3, .... , Xphi(n)},其中Xi (i = 1, 2, .. phi(n))表示第i个不大于n与n互质的数。  考虑集合S = {a*X1(mod n), a*X2(mod n), ... ,a*Xphi(n

2013-08-20 09:42:40 1425

原创 zoj 3638 Fruit Ninja(多重集组合+乘法逆元+容斥原理)

题意: n种水果,取m个,每种水果可能有数量限制如苹果大于3个,桔子小于2个。问一共有几种取法?解答:多重集的x1+x2+。。。+xn=(m-k),k 为那些   至少多少个  的和,即c(n+r-1,r),其中r=m-k    求解c(n+r-1,r)时要用到逆元,求解那些至多多少个时,用容斥原理。。#include#include#include#includ

2013-08-20 09:23:44 1261

原创 zoj 3640 Help Me Escape(概率DP)

题目意思: 一个吸血鬼,每天有n条路走,每次随机选一条路走,每条路有限制,如果当这个吸血鬼的能力大于某个值c[i],那么只需要花费ti(ti = (1.0 + sqrt(5.0))/2 * c[i] * c[i]) 天的时间就可以逃出去,否则,花费1天的时间,吸血鬼的能力增加c[i],花费1天的时间,然后继续下一天的尝试。求逃出去的期望。       设dp[v] ,表示当能力值为v的时的期望

2013-08-19 17:12:06 513

原创 poj 2484 A Funny Game

太坑了!!!把他转换成不是环的来求出sg 我才发现规律的,即n>=3时 sg全是正数题意:有n个硬币围成一圈,两人轮流拿取,每次可以取1个或者相邻的2个,不能取的人输当n==1 || n==2时,明显先手必胜。当n==3时,明显先手必败。由于每次只可取1或2个,而取2个时,2个必须相邻,推断有:当n>3时,若n为偶数,先手无论如何取,后手可在先手对称的位置上取同等数量,

2013-08-19 15:56:32 620

原创 poj 2505 A multiplication game

题意:2 个人玩游戏,从 1 开始,轮流对数进行累乘,直到超过一个指定的值。解题思路:如果输入是 2 ~ 9 ,因为Stan 是先手,所以Stan 必胜如果输入是 10~18 ,因为Ollie 是后手,不管第一次Stan 乘的是什么,Stan肯定在 2 ~ 9 之间,如果Stan乘以 2 ,那么Ollie就乘以 9 ,就到18了,如果Stan乘以 9 ,那么Ollie乘以大

2013-08-17 20:36:43 528

原创 hdu 4315 Climbing the Hill

哎!还是思路啊。。。。。。。。。。。。。。。。。。。。。解:Nim:通常的Nim游戏的定义是这样的:有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了,则判负(因为他此刻没有任何合法的移动)。对于一个Nim游戏的局面(a1,a2,...,an),它是P-position当且仅当a1^a2^...^

2013-08-17 16:49:15 703

原创 hdu 4387 Stone Game

长度为N的格子,Alice和Bob各占了最左边以及最右边K个格子,每回合每人可以选择一个棋子往对面最近的一个空格移动。最先不能移动的人获得胜利。  官方题解:  k=1时  很容易看出,n为奇数则后手获胜,n为偶数则先手获胜  k>1时  如果n=2*k+1,则棋 盘中只有一个空白的格子,每次移动必须移动到当前的空白格子上。先手方可以先随意选择一颗棋子占据中

2013-08-17 09:04:10 537

原创 hdu 4371 Alice and Bob

哎!还是思路最重要啊!看到题目一定思路都没有,以为是什么神博弈。。。哎。。。题意:Alice 和 Bob 轮流写数字,假设第 i 次的数字是 S(i) ,那么第 i+1 次的数字 S(i+1)= S(i)+d(k)或 S(i)-d(k),条件是 S(i+1)分析:杂一看真的不好确定必输或必赢状态。那么直接想最后一步,什么时候就结束呢?s(i)+min > n 时就输了;那么s(

2013-08-16 19:41:11 672

原创 hdu 1730 Northcott Game

游戏在一个n行m列(1 ≤ n ≤ 1000且2 ≤ m ≤ 100)的棋盘上进行,每行有一个黑子(黑方)和一个白子(白方)。执黑的一方先行,每次玩家可以移动己方的任何一枚棋子到同一行的任何一个空格上,当然这过程中不许越过该行的敌方棋子。双方轮流移动,直到某一方无法行动为止,移动最后一步的玩家获胜。Tom总是先下(黑方)。图1是某个初始局面,图二是Tom移动一个棋子后的局面(第一行的黑子左移两步)

2013-08-16 15:21:47 428

原创 uva 11796 - Dog Distance(投影位移)

呵呵,模板一贴,代码就不用写多少了。。。题意:两只狗沿各自的折线跑,同是到达终点,同时出发,给出个折点的坐标,求狗最大距离和最小距离的差本题要注意投影位移,把折线分为一段段线段,按各自的速度分,就相当于求两狗沿各自的线段跑,最后将线段叠加起来就可以了投影位移:在各自的线段,a起点为pa,沿va向量跑,b起点为pb,沿vb向量跑,则求线段(pa,pb,pb+vb-va)距离就可以

2013-08-16 10:48:51 698

原创 hdu 4678 Mine

。。。。。。wa了无数次,原来多个空白连在一起只计一个。。。。。。。。  每次搜出一个块的个数 如果是偶数则sg=2, 奇数sg=1.单个数字 sg=1#include#include#include#include#include#include#include using namespace std;#define N 1050int map[N

2013-08-15 20:55:11 637

原创 0/1背包模板

描述 ctest有n个苹果,要将它放入容量为v的背包。给出第i个苹果的大小和价钱,求出能放入背包的苹果的总价钱最大值。输入 有多组测试数据,每组测试数据第一行为2个正整数,分别代表苹果的个数n和背包的容量v,n、v同时为0时结束测试,此时不输出。接下来的n行,每行2个正整数,用空格隔开,分别代表苹果的大小c和价钱w。所有输入数字的范围大于等于0,小于等于1000。 输出 对每组

2013-08-14 15:23:22 506

原创 计算几何模板(白皮书)

const double eps=1e-8;//精度const int INF=0x3f3f3f3f;const double PI=acos(-1.0);inline int dcmp(const double& x) //判断double等于0或。。。{ if(fabs(x)<eps)return 0; else return x<0?-1:1;}struct Po

2013-08-14 14:42:25 826

原创 LA 3263 That Nice Euler Circuit (点、面、边的关系)

欧拉定理:设平面图的顶点数为V,边数为E,面数为F ,则,V+F-E=2;但要注意顶点和边的计数,特别的去除重复的点#include#include#includeusing namespace std;const double eps = 1e-10;int dcmp(double x){ if(fabs(x) < eps) return 0; el

2013-08-14 09:03:44 825

原创 unique() 去重函数

unique()函数是一个去重函数,STL中unique的函数 unique的功能是去除相邻的重复元素(只保留一个),还有一个容易忽视的特性是它并不真正把重复的元素删除。他是c++中的函数,所以头文件要加#include,具体用法如下:    int num[100];   unique(num,mun+n)返回的是num去重后的尾地址,之所以说比不真正把重复的元素删除,其实是,该

2013-08-13 09:51:47 576

原创 uva 11178 - Morley's Theorem (直线旋转相交)

差不多直接套模板了。。#include#includestruct Point{ double x, y; Point(double x=0, double y=0):x(x),y(y) { }};typedef Point Vector;Vector operator + (const Vector& A, const Vector& B){

2013-08-13 08:56:31 422

原创 hdu 3874 Necklace(树状数组的灵活应用)

。用map记录当前值是否出现过,并记录这个值的最后一处的位置,当遍历到某个值时,如果前面已经出现过,那么将前面那个数的值清为0,即将map记录的这个数的位置上的数减去这个数,当前位置插入这个值。离线处理询问即可。#include#include#include#include#include#includeusing namespace std;typedef __in

2013-08-10 21:48:14 481

原创 hdu 3743 Frosh Week (树状数组的离散化)

由于num的值过大,不能直接开a【num】,所以对num进行离散化#include#include#include#includeusing namespace std;typedef __int64 LL;#define Max 1000005struct node{ int num,id;};node a[Max];LL c[Max];bool

2013-08-10 11:25:52 654

原创 uva 1428 - Ping pong (树状数组的应用)

题意:n个人,每个人有个居住编号和技能度,选3个人(其中1个是裁判)来比赛,要求裁判居住在两选手之间,技能值也要在两选手之间,一共有多少种比赛?解答: i 为裁判,则c【i】为i前面技能比他小的人数,d【i】为后面技能比他小的人数,则答案为c[i]*(n-d[i]-i)+d[i]*(i-c[i]-1);#include#include#include#includeusing na

2013-08-10 10:05:19 600

原创 hdu 4664 Triangulation(博弈论 sg找规律打表)

题意:两人玩游戏,有n个平面,每个平面ai个点,轮流画线,线不相交不重复;如果一个平面上画出三角形, 则该平面不能再画线,最后不能画线的人输。       方法:用SG定理求一个平面的SG值,然后去SG函数值找规律,最后各个平面异或可得答案       sg[i]=mex{sg[0]^sg[i-2],sg[1]^sg[i-3],...sg[i-2]^sg[0]},    

2013-08-08 21:25:07 915

原创 hdu 4655 Cut Pieces

#include#include#include#define MAXN 1000002#define MOD 1000000007using namespace std ;#define LL __int64LL mut ; int n ; LL ml[MAXN], mr[MAXN] ;int ar[MAXN], ord[MAXN], nar[MAXN] ;inline

2013-08-08 17:34:49 678

原创 hdu 4662 MU Puzzle

#include #include #include #include #include using namespace std;#includechar str[1000005];int pow( int t ){ return (1<<(t));}int main(){ int t; scanf("%d",&t); while( t-- )

2013-08-08 17:32:13 579

原创 uva 1160 - X-Plosives(并查集)

题意: 多个物品,每个物品由2种元素组成,按输入顺序装车,但当车上存在任意k个物品刚好包含k种元素则会爆炸,问有多少个物品是不能装车的?1种元素表示1个点,一条线表示一个物品,即不能出现环(xy不能存在同一个集合)#include#include#include#includeusing namespace std;#define N 100005int father[N];

2013-08-08 09:59:45 568

原创 hdu 1232 畅通工程(并查集)

畅通工程Problem Description某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( 注意:两个

2013-08-08 08:40:23 479

Objective-C基础教程(第2版)-有目录

Objective-C基础教程(第2版)有需要的同学可以了解下

2018-09-10

.net 通讯录(三层架构)

.net通讯录,用三层架构搭建 ,实现了与数据库进行连接,适用于初学者使用! vs2010 SQL2008

2012-12-13

.net 通讯录 实现了数据库的连接

.net 通讯录 实现了数据库的连接,很实用!容易学!喜欢的朋友看看!

2012-12-13

空空如也

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

TA关注的人

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