自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

WKLL_

这个世界不是因为你能做什么,而是你该做什么.

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

原创 博客迁移

博客新地址:mywkll.com

2016-09-27 21:02:01 340

原创 NOI2003 矩阵游戏

题目大意:给定abcd和规则要求计算出一个大矩阵的最后一个数的值。题目分析:两次快速幂,对于最后一位有两种处理方法:可以计算到最后一行的第一位然后快速幂计算出最后一位也可计算到下一行然后减d再/c。  计算的矩阵很好构造,[a,b] 和[c,d] ,观察可知这两个矩阵的第二行都没有改变

2016-08-25 16:30:50 491

原创 neerc2006 细胞自动机

题目大意:给定n个数首尾相连成一个环。给定距离d,每次计算出左右距离题目分析:bzoj2510简化版。直接构造出转移的01矩阵,降维之后直接相乘即可。#include#include#include#include#include#include#include#include#include#includeusing namespace std;#d

2016-08-24 15:42:47 536

原创 vijos1049 送给圣诞夜的礼品

题目大意:顺次给出m个置换,反复使用这m个置换对初始序列进行操作,问k次置换后的序列。m题目分析:先将m个置换所使用的矩阵合并起来,然后做T=k/m次。剩下的k%m次模拟即可。#include#include#include#include#include#include#include#include#include#includeusing na

2016-08-23 17:12:48 470

原创 VIJOS1067 守望者的烦恼

题目大意:头脑并不发达的warden最近在思考一个问题,她的闪烁技能是可以升级的,k级的闪烁技能最多可以向前移动k个监狱,一共有n个监狱要视察,她从入口进去,一路上有n个监狱,而且不会往回走,当然她并不用每个监狱都视察,但是她最后一定要到第n个监狱里去,因为监狱的出口在那里,但是她并不一定要到第1个监狱。守望者warden现在想知道,她在拥有k级闪烁技能时视察n个监狱一共有多少种方案?

2016-08-23 17:09:19 533

原创 NOI2011 随机数生成器

题目分析:矩阵快速幂模板题。我构造了一个2*2和1*2的矩阵...直接模拟矩阵乘即可。#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define For(i,n) for(int i=1;i<=n;i++)#defi

2016-08-23 17:03:57 286

原创 BZOJ2510 弱题/取球游戏

题目大意:有M个球,一开始每个球均有一个初始标号,标号范围为1~N且为整数,标号为i的球有ai个,并保证Σai = M。每次操作等概率取出一个球(即取出每个球的概率均为1/M),若这个球标号为k(k N),则将它重新标号为k + 1;若这个球标号为N,则将其重标号为1。(取出球后并不将其丢弃)现在你需要求出,经过K次这样的操作后,每个标号的球的期望个数。题目

2016-08-23 16:58:30 362

原创 hnoi2002 营业额统计

题目大意:给定n个数,求每个数与前面的数的差值的绝对值最小总和。题目分析:splay入门题,用splay维护前i个数找到差值最接近的相减取绝对值即可。#include#include#include#include#include#include#include#include#include#includeusing namespace std;#d

2016-08-18 20:16:38 408

原创 NOI2005 聪聪和可可

题目大意:给定一张图,A的起始位置和B的启示位置,A在一个时间点内移动两格,B移动一格。且A移动方向始终靠近B,而B等概率的移动到与它联通的节点和所在位置。求当A和B处在同一位置时平均步数为几步。题目分析:一道求期望的题目。可以先预处理出每个节点向另外节点方向走一步时候的位置。定义状态dp[i][j]表示为B在i,A在j时候的步数期望。显然对于同一位置即dp[i][i]=0。 如果

2016-08-18 10:16:43 460

原创 Uva11762 Race to 1

题目大意:给一个正整数N,每次可以在不超过N的素数中随机选择一个P,如果P是N的约数,则把N变成N/p,否则N不变,问平均情况下需要多少次随机选择,才能把N变成1?比如N=3时答案为2,N=13时答案为6。题目分析:易知从每个状态出发的所有转移概率之和为1。如f[6]有1/3的概率得到2,1/3的概率得到3,1/3的概率回到它本身。设f[i]表示当前的数为i时接下来需要选择的次数。则可

2016-08-17 16:47:39 672

原创 Uva11427 玩纸牌

题目大意:每天晚上你都玩纸牌,如果第一次就赢了,就高高兴兴的去睡觉,如果输了就继续玩。假如每盘游戏你获胜的概率都为p,每盘游戏输赢独立。如果当晚你获胜的局数的比例严格大于p时才停止,而且每天晚上最多只能玩n局,如果获胜比例一直不超过p的话,以后就再也不玩纸牌了。问在平均情况下,你会玩多少个晚上纸牌。题目分析:因为每天晚上的情况相互独立,因此研究某一天晚上输了而去睡觉的概率Q。所以设d[

2016-08-17 15:20:38 772

原创 Uva11722 Joining with Friend

题目大意:你和朋友都要乘坐火车,并且都会途径A城市。你们很想会面,但是你们到达这个城市的准确时刻都无法确定。你会在时间区间[t1,t2]的任意时刻以相同的概率密度到达。你朋友则会在时间区间[s1,s2]内的任意时刻以相同的概率密度到达。你们的火车都会在A城市停留w分钟。只有在同一时刻,你们所在的火车都停在城市A的时候,才有可能会面。你的任务是计算出现这种情况的概率。题目分析:假设x和y

2016-08-16 14:40:29 842

原创 Uva11021 Tribbles

题目大意: 有k只麻球,每只活一天就会死亡,临死之前可能会生出一些新的麻球。具体来说,生i个麻球的概率为Pi,给定m,求m天后所有麻球均死亡的概率。注意,不足m天时就已全部死亡的情况也算在内。题目分析:设1只麻球在前m天死亡的概率是f[i],则k只麻球在m天死亡的概率为f[i]^k。转化为子问题。假设前一天所生麻球的数量为j,则f[i]=f[i-1]^j*p[j]->即当前这一天可以生

2016-08-15 16:40:19 804

原创 Neerc2005 POJ2794 Double Patience

题目大意:36张牌分成9堆,每堆4张牌。每次可以拿走某两堆顶部的牌,但需要点数相同。如果有多种拿法则等概率的随机拿。例如9对顶部的牌分别为KS,KH,KD,9H,8S,8D,7C,7D,6H,则有5种拿法(KS,KH),(KS,KD),(KH,KD),(8S,8D),(7C,7D),每种拿法的概率为1/5。如果最后拿完所有牌则游戏成功。按顺序给出每堆牌的4张牌,求成功概率。题目分析:(

2016-08-15 15:36:27 963

原创 Uva11181 Probability|Given

https://uva.onlinejudge.org/index.php?option=comonlinejudge&Itemid=8&page=showproblem&problem=2122题目大意:有n个人准备去超市逛,其中第i个人买东西的概率是Pi,逛完以后你得知有r个人买了东西。根据这一信息,请计算每个人实际买了东西的概率。输入n(1题目分析:条件概率。(不如套公式

2016-08-15 13:25:13 1317

原创 Uva10491 cows and cars

https://uva.onlinejudge.org/index.php?option=comonlinejudge&Itemid=8&page=showproblem&problem=1432题目大意:给定a,b,c表示表示有多少个牛,多少个车和一次开几个门。题目分析:分为两种情况;1.第一次开到的是牛,概率为a/(a+b)。而第二次开到车的概率就是b/(a+b-c-1)。

2016-08-15 11:05:20 723

原创 NEERC2009 headshot

题目大意:给定一串01序列,有个人先选择了其中一个0,求下一位是0的概率大还是1的概率大。题目分析:感觉题目大意就已经基本把这题说完了。。原版题意->题意你和人决斗。决斗规则如下:用一把有n个弹槽的左轮手枪,对着自己脑袋来一枪,孰生孰死看天意。现在对方已经装了若干发子弹,并随机转了一下转轮,子弹呢用一个01序列表示,0表示这个弹槽无子弹,1表示有子弹。对方先对着自个脑袋开了一枪

2016-08-15 10:17:56 706

原创 售货员难题 状压dp

售货员难题Description某乡有n个村庄(1Input Format村庄数n和各村之间的路程(均是正整数)。Output Format最短的路程Sample Input 4 {村庄数} 0 30 6 4 {村庄1到各村的路程}6 5

2016-08-12 16:44:20 699

原创 POJ 2411 Mondriaan's Dream 状压dp

题目大意:给定n*m的方格图,求用1*2的砖块铺满的方案总数。题目分析:对于i行j列的格子,有三种情况:1.不填,被i-1行j列的填了。2.填,和i行j-1列构成一个砖块。3.填,同时填上i+1行j列。具体参见这两篇文章:http://www.tuicool.com/articles/2e6B7b                                   http:/

2016-08-01 21:26:53 613

原创 NOI 2001 炮兵阵地 状压dp

题目大意:给定n*m的网格,可以在网格上放取任意多的点,但要满足任意两点之间的距离大于2。问最多可以放几个点。题目分析:首先题目以行作为状态很明显,但是又不能只考虑上一行的状态,而是要考虑前两行的状态。#include#include#include#include#include#include#include#include#include#includeusi

2016-07-30 00:20:23 562

原创 hdu 3943 K-th Nya Number 数位dp

题目大意:给定区间[l,r]、x、y,求出在这个区间内含有x个4,y个7的第K大的数,否则输出Nya!题目分析:参照先统计在计数的思想。设dp[i][j][k]表示第i位有j个4,k个7的数字有几个。显然对于dp[i-1][j][k],可以转移到dp[i][j+1][k]和dp[i][j][k+1]。对于另外8个数(除4,7)有dp[i][j][k]=dp[i-1][j][k]*8.

2016-07-28 19:39:08 1252

原创 hdu 3652 B-number 数位dp

题目大意:求出0..n中含有13的13倍数的个数。题目分析:参照数位dp的思想。先预处理再计算。设f[i][j][k][l]表示第i位,数为j,k表示是否含有13,模13余数是l的数有几个。伪代码:决策第i位¨for x = 0 ~ 9¨  if k = 1 //要求要包含13¨    f[i,j,k,l] = f[i - 1,x,1,(l - j*10^(i-

2016-07-27 21:31:34 622

原创 uestc 250 Windy数 数位dp

题目大意:给定一个区间[l,r],求在这个区间当中满足两位数之差>=2的数的个数。题目分析:相比hdu 2089 ,hdu 3555有些差别。对于前导0这类的处理有点迷..将最高位挑出来先进行处理剩下的统计同2089一题。#include#include#include#include#include#include#include#include#include

2016-07-27 17:16:40 520

原创 hdu 3555 bomb 数位dp

题目大意:给定n个数x,求出1..x含有49的数的个数。题目大意:数位dp,思路和hdu2089差不多。求出1..x不含49的数的个数,相减即可。#include#include#include#include#include#include#include#include#include#includeusing namespace std;#def

2016-07-27 10:39:53 560

原创 hdu 2089 不要62 数位dp

题目大意:给定一个区间[l,r],要求出在这个区间内的数字中不含62和4的数字个数。题目分析:数位dp模型。求出0..r和0..l-1的方案数。相减一下即可。考虑如何求方案数:      设dp[i][j]表示当前第i位状态为j的方案数,则dp[i][j]+=dp[i-1][k].预处理完之后进行统计方案数。#include#include#include#inc

2016-07-26 19:56:57 374

原创 HNOI 2012 射箭 半平面交

http://www.lydsy.com/JudgeOnline/problem.php?id=2732Description沫沫最近在玩一个二维的射箭游戏,如下图 1 所示,这个游戏中的 x 轴在地面,第一象限中有一些竖直线段作为靶子,任意两个靶子都没有公共部分,也不会接触坐标轴。沫沫控制一个位于(0,0)的弓箭手,可以朝 0 至 90?中的任意角度(不包括 0度和

2016-07-26 16:42:08 563

原创 BZOJ1603 NOI2008 设计路线 树形dp

题目大意:给定一个根节点为1的树,要求在树中找到一些不相交的链,使得每个节点的不便利值得最大值最小,并求出满足条件的方案个数。一个节点的不便利值就是从该节点到根的路径上经过的非链边的条数。题目分析:对于无解的情况是很好处理的,对于题目意思,只要题目所给的是一个森林便可以直接判断无解,即m考虑f[i][j][k]为节点i,不便利值借将狼踩尽的图- 这是由状态直接得到的转移;

2016-07-23 22:44:06 1228

原创 BZOJ 1812 Ioi2005 riv 树形dp

题目大意:给定一棵树,每个点有权值,每条边有边权(单向边)。你可以选取K个黑点,使得从每个点移动到距离他最近的黑点的花费(距离*点权)的总和最小。题目分析:先将该树转化成二叉树方便动态规划。由于当前节点i的子树的花费与最近的黑点j有关系。且要记录下当前已经用过几个黑点。所以f[i][j][k]表示当前这棵子树的根节点为i,最近的黑点为j,用了k个黑点的花费。记忆化搜索方便实现。

2016-07-23 17:25:26 1046

原创 感冒病毒 suspects 并查集

题目大意:给定n个人,m个团,同一个团中只要有一个人感染病毒整个团就都感染病毒。现在0号感染了病毒,问总共有多少个人会感染病毒。题目分析:简单的并查集。#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define

2016-07-23 13:21:55 521

原创 【bzoj1369】[Baltic2003]Gem 树形dp

题目大意:给定一棵树,要你为他标上权值且两点间权值不能相同。问最小的权值总和为多少。题目分析:WJMZBMR表示这道题并不能用奇数层染色的方法来做。因为可以构造出贪心反例(用大量的叶子节点强迫某个节点选2)。所以考虑树形dp。 设状态f[i][j]表示根节点为i的子树且根节点颜色为j的子树的最小权值。#include#include#include#include#

2016-07-21 17:37:20 669

原创 【bzoj3522】[Poi2014]Hotel 暴力+计数

题目大意:给定一棵树,选取树上三个点,使得三个点任意两点之间距离相等,问方案数。题目分析:对于任意三个点,要么处于一条链,或者不处于同一条链。显然处于一条链时不满足题意。所以必然这三个点是有一个中心使得该点到三个点距离相等。所以暴力枚举中心,再计算方案数。#include#include#include#include#include#include#i

2016-07-21 15:00:44 779

原创 【bzoj1912】[Apio2010] patrol 巡逻 树形dp

题目大意:给你一棵树,你可以连k条边(1题目分析:对于一棵树来说,遍历所有的点最少需要将每条边走两次,即2*(n-1)。显然当k==1时将直径的两个端点相连,便可以使原来直径上的边减少1次,显然最优。当k==2时,只要将原来直径上的边权赋为-1再找一次树的直径即可。最终答案ans=2*(n-1)-dis1-dis2+2;#include#include#include

2016-07-21 13:43:20 700

原创 Tyvj P1520 树的直径

http://www.tyvj.cn/p/1520题目大意:求树的直径题目分析:详见本栏目总结。#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define For(i,n) for(in

2016-07-20 19:05:16 297

原创 树形动态规划总结

本文部分题目出自《树的动态规划与构造》一文/*问题可以分解成若干相互联系的阶段,在每一个阶段都要做出决策,全部过程的决策是一个决策序列。要使整个活动的总体效果达到最优的问题,称为多阶段决策问题。动态规划就是解决多阶段决策最优化问题的一种思想方法。因为树可以描述比较复杂的关系,这对选手分析问题的能力有较高的要求,在寻找最优子结构、组织状态时往往需要创造性思维,而且树型动态规划对数

2016-07-20 09:19:05 1813

原创 poj 1987 Distance Statistics 点分治

题目大意: 给你一棵树,问两个点对距离题目分析:点分治裸题。dfs处理出每个重心(分治下)到当前子树根节点的距离存在dis数组中,o(n)直接找出。但要注意的是,对于dis所存的距离,只适用于两个不同的子树当中,所以要将位于同一个子树中的方案数减去。#include#include#include#include#include#include#incl

2016-07-19 17:09:58 722

原创 迷のA+B problem

为什么我要单独开个专栏放一个A+B problem这道每个oj上基本都是第一题的大水题=-=大概原因是....这道题真的很有魅力(智力)...事实上主要原因在于老是被机房中的神犇吐槽头文件太多...    其实只是为了打代码方便而已=-=。于是...为了证明我的头文件还不算那-么-难-看(只要向上对应即可...特地贴一个A+B probl

2016-07-18 20:37:55 389

原创 vijos 1892 树上的最大匹配问题 树形dp

https://vijos.org/p/1892题目大意:树上的最大匹配是多少? 最大匹配解的方案共有多少组?(首先树可以被看作是一个无向图G.(对于无向图G来说, 其上的最大匹配是边集的一个子集, 满足:(对于G中每一个点来说, 都只有最多一条与之相连的边在这个子集中.(最大匹配就是这个子集大小可以到达的最大值.以上大概就是树上最大匹配的概念。

2016-07-18 09:05:51 2349

原创 Codeforces 23 E Tree 树形dp+高精

题目大意:给你一棵树,让你切断一些边,使得剩下的每个连通块的点的个数的乘积最大,输出这个乘积。题目分析: 由于题目要求各个连通块点的乘积,设状态dp[i][j]表示i作为一个连通块时其点个数为j时候的值。每次枚举与当前节点联通的其他节点所已经扩展的总结点数量。则dp[u][i+j]=max(dp[u][i]*dp[v][j]) {其中u为当前节点,v为u的子节点,i,j分别枚举

2016-07-15 20:14:45 993

原创 Codeforces 543 D Road Improvement 树形dp

题目大意:给定n个点的树#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Rep(i,n) for(int i=0;

2016-07-15 10:00:53 806

原创 Codeforces 161 D Distance in Tree 树形DP

题目大意:给出一棵n个节点的树,统计树中长度为k的路径的条数(1<=n<=50000 ,1);题目分析:设dp[i][j]表示以i作为长度为j的路径其中一个点的方案数。转移:dp[u][j]+=dp[v][j-1];  方案计数:ans+=dp[v][j]*dp[u][k-j-1];#include#include#include#include

2016-07-15 09:50:11 987

空空如也

空空如也

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

TA关注的人

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