自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 POJ 3071 Football (概率DP)

设dp[i][j]表示第i轮j还未被淘汰的概率,则dp[i][j]=dp[i-1][j]*dp[i-1][k]*p[j][k] (枚举k求和)。 问题在于,在第i轮时,j有可能和哪些球队碰上。这个是和j的二进制表示有关的。比如当i==1时,j只能和 j二进制表示最后一位取反后的那个数所对应的球队踢,当i扩大后可能对上的球队范围也增大。 我比较麻烦的写了二进制拆分,模拟判断可能对阵的球队。

2015-05-27 18:44:38 472

原创 POJ 2096 Collecting Bugs (期望DP)

令(n,s)为一状态,表示找到了n种不同的类别的,s种不同的bug,可以转移为(n,s),(n,s+1),(n+1,s),(n+1,s+1) 根据概率公式很容易列出转移公式,在这里不再赘述。注意公式两边都是有(n,s)的,移项后就是可以编程的公式了。 用记忆化搜索做。 代码: #include #include #include #include using namespa

2015-05-27 15:55:18 485

转载 Linux 关机命令详解

转自:点击打开链接 linux下常用的关机命令有:shutdown、halt、poweroff、init;重启命令有:reboot。下面本文就主要介绍一些常用的关机命令以及各种关机命令之间的区别和具体用法。 首先来看一下linux下比较常用的一些关机命令 关机命令: 1、halt   立刻关机 2、poweroff  立刻关机 3、shutdown -h now

2015-05-25 09:12:38 558

原创 POJ 2151 Check the difficulty of problems (概率DP)

问题的解等于(所有队都做出至少一题的概率 - 所有队做题数都在1到N-1之间的概率) 设计DP状态时,因为DP过程中要记录哪些题做过了很难,一般来说要把DP的过程设计成有方向的,比如有一维表示前i个XX这种。 dp[i][j][k]表示第i队前j题做出k个的概率,dp方程就是dp[i][j][k]=dp[i][j-1][k-1]*acr[i][j]+dp[i][j-1][k]*(1-acr[i

2015-05-23 11:24:31 479

原创 POJ 3744 Scout YYF 1(概率递推)

首先考虑什么情况下能安全通过,安全通过不能踩到任何一个雷,如果能算出到达每个位置的概率,pos[i]表示第i个雷的位置,那么答案就是(1-pos[i])的乘积。 概率的转移公式很好想:dp[i]=p*dp[i-1]+(1-p)*dp[i-2]。问题在于范围太大。 打表后发现当递推次数超过100时后面每个位置的概率都一样。所以两个雷之间距离过大的话,只要算100次就行了。 这道题标准做

2015-05-22 20:12:59 525

原创 POJ 3156 Interconnect(期望DP)

本题中图的具体形式是没有意义的,状态应该是联通块数量和大小,用数组记录这种状态。 比如(3,3,2)表示3个联通块,分别有3,3,2个点,它可以转移为(6,2)和(5,3)。很好理解转移到(6,2)的几率为3*3/(8×7/2),即:可改变状态的边和总边数之比,这样状态到状态间的概率就可求了。 期望DP要逆着推。设状态a可以到x,y,z,假设x,y,z到全联通的期望步数已求,为dp[x,y,z

2015-05-22 18:01:13 631

转载 Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义

转自点击打开链接 Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义   # touch variable # vi variable   脚本内容如下:   #!/bin/sh echo "number:$#" echo "scname:$0" echo "first :$1" echo "second:$

2015-05-21 23:04:14 506

转载 eclipse mac版 快捷键

转自点击打开链接 为了提高开发效率,Eclipse 为我们提供了许多快捷键,它们能够帮助我们快速和方便的完成一些繁琐的操作。    关于 Eclipse for Windows 的快捷键,在百度和谷歌等搜索引擎都可以搜索到,在这里只提供 Eclipse for Mac 的常用快捷键。我并不打算把所有的快捷键都罗列出来,那样非常没有必要。 Command + O:显示大

2015-05-21 11:26:56 1142

原创 POJ 1166 The Clocks(状压BFS)

用一个数状压9个表的状态,每个表4种情况,最多才4^9,标记空间开得下。 记录路径时,用pre[i]表示i状态之前的状态是哪个,chs[i]表示这一次用的哪种操作到的i状态。BFS过程中每次第一次到达某状态就确定这两个值,最后递归得到路径,再排个序即可。 代码: #include #include #include #include using namespace std;

2015-05-14 21:31:25 606

原创 POJ 1151 Atlantis (线段树+扫描线 求矩形面积并)

经典扫描线题,算法网上有很详细的,这里简单说一下: 把每个矩形拆成两条竖边,标记每条边是左边的还是右边的,把所有的边按x坐标排序。用一个数组cov标记整个y轴每个部分在多少个矩形中,哪些不是。把浮点数离散化。 然后开始扫描:先把答案加上(全部在矩形中的区间的长度和)×(这条边x坐标和前一条边x坐标之差),代表这两条边之间被覆盖的面积,然后这条边如果是左边,就把所覆盖区间的cov数组+1,是右边

2015-05-14 20:08:31 802

原创 POJ 1195 Mobile phones (二维树状数组)

模板题 注意: 1.树状数组下标要从一开始,不然会死循环 2.树状数组修改循环要到S而不是S-1 代码: #include #include #include using namespace std; #define LL long long LL c[1050][1050]; int N; int lowbit(int n){ return n&(-n); } vo

2015-05-07 20:31:16 376

原创 POJ 1149 PIGS(网络流)

第一想法是以猪圈为节点建图,但是这样点数过多,而且无法控制顺序。 看到消费者数量很少,想办法以这个为节点建图。 建图方法为,用pre[i]记录最近一个可以访问第i猪圈的消费者是哪个。 处理每个消费者时,对于他能打开的每个猪圈i,都查询pre[i],如果之前没有,就从原点连一条边到这个人,容量为猪圈i初始猪数(从该猪圈最多取这么多)。 如果之前有,pre[i]=k,那么连一条k到当前人的边,

2015-05-07 19:25:19 485

原创 POJ 1698 Alice's Chance (网络流)

构图: 最多50周,350天 源点到每一天连一条容量为1的边,对于每个电影,可以拍摄的那些天连一条容量为1的边到这个电影,每个电影连一条容量为需求总天数的边到汇点。 看最大流是不是等于所有电影的需求总天数的和。 点数为天数+电影数+2。 代码: #include #include #include #include using namespace std; #inclu

2015-05-07 18:58:00 486

原创 POJ 1661 Help Jimmy (DP)

dp[i][0] dp[i][1] 记录到第i个平台左右两端点时最短时间。 预处理出每个平台左侧,右侧都能到达哪个平台。根据这个关系DP,复杂度N方。 算出起始平台两侧的dp[i][0],dp[i][1],作为初始条件,向下DP。 注意: 1.只有当下面的平台的值被更新过,才继续向这一侧DP,否则停止。 2.注意起始点直接落地的情况。 代码: #include #i

2015-05-02 11:11:59 430

原创 HDU 4747 Mex (线段树)

本题关键是想到如何转换成区间求和操作。 用mex[i]表示第1到第i个数这个区间的mex值,这样对mex[1]~mex[N]求和,就是所有包含第一个数的区间的mex值和。 包含第一个数的都求完了,可以把第一个删掉。这样mex[i]就变成了第2到第i个数这区间的mex值,同样对2到N这个区间的mex[i]求和,然后一直一个一个删除到最后一个。 删除a[i]会影响哪些区间: 假设i位置

2015-05-02 10:05:13 703 1

空空如也

空空如也

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

TA关注的人

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