自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

scf0920

退役ACMer渣

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

原创 HDU 2196 Computer (树形DP)

两次DFS,先从下往上搜一次,记录每个点到子树的最长距离与次长距离。次长距离的目的是如果在第二次更新的时候,最长距离与该子节点的方向是同一个方向,那就不能用这个最长距离了,只能用次长距离来更新。那么第二次dfs就是来从上往下来更新状态的。代码如下:#include #include #include #include #include #include #include #i

2015-01-18 11:17:03 818

原创 HDU 1520 Anniversary party (树形DP)

树形DP的关键在于如何处理递归返回的信息。这题dp[i][0]表示不选i点时当前最高权值。dp[i][1]表示选i点时当前最高权值。状态转移方程:dp[u][[0]+=max(dp[v][0],dp[v][1]),dp[u][1]+=dp[v][0];代码如下:#include #include #include #include #include #include #incl

2015-01-16 20:53:34 604

原创 ZOJ 3329 One Person Game (概率DP)

题意:有三个骰子,分别有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]就是我们所求

2015-01-16 08:42:23 756

原创 POJ 3744 Scout YYF I (概率DP+矩阵快速幂)

题目地址:POJ 3744一个线性概率DP递推式。dp[i]=p*dp[i-1]+(1-p)*dp[i-2]。但是i的值太大。所以可以分成n次,每一次中间过程的纯递推过程用矩阵快速幂来优化。只要想到矩阵快速幂就挺简单了。代码如下:#include #include #include #include #include #include #include #includ

2015-01-15 19:46:08 731

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

题目地址:POJ 2151dp[i][j][k]表示第i个人前j个题做对了k道题的概率。然后把dp数组求出来之后,再利用容斥原理求出最终概率。代码如下;#include #include #include #include #include #include #include #include #include using namespace std;#define

2015-01-15 16:38:13 730

原创 codeforces # 285 解题报告A.B.C

A - Contest水题。根据要求分别算出两人的分数比较就行。代码如下:#include #include #include #include #include #include #include #include #include using namespace std;#define LL __int64#define pi acos(-1.0)con

2015-01-13 20:01:31 896

原创 HDU 3076 ssworld VS DDD (概率DP)

简单的概率DP。因为输入顺序反了,。错了N次。,,代码如下:#include #include #include #include #include #include #include #include #include using namespace std;#define LL __int64#define pi acos(-1.0)const int mo

2015-01-12 11:31:26 763

原创 POJ 2096 Collecting Bugs (概率DP)

题目地址:POJ 2096第一发概率DP。详情看这篇博客,讲的很清楚了。代码如下:#include #include #include #include #include #include #include #include #include using namespace std;#define LL __int64#define pi acos(-1.0)c

2015-01-11 20:06:19 767

原创 HDU 5159 Card (组合数学)

所有的组合中包含某个数的次数对于所有的数来说是相同的,那么就求出这个次数乘以所有数的和然后除以总的组合次数就可以了。开始想复杂了。。。可以先预处理下,然后直接输出。代码如下:#include #include #include #include #include #include #include #include #include using namespace s

2015-01-11 18:50:22 1379

原创 HDU 2167 Pebbles (状压DP)

这个题再次犯了没有初始化的毛病,但是样例居然只有第2组不对,其他的都对。。。而且还没法调试。。。。。这个题还是很简单的状压。还是把每一行的状态都先预处理出来。然后从第一行往下不断进行状态转移。为了不TLE,应该把每种状态下的和也预处理出来。代码如下:#include #include #include #include #include #include #include

2015-01-10 20:34:00 850

原创 POJ 3311 Hie with the Pie (状压DP)

题目地址:POJ 3311这题基本可以算是TSP问题,先用floyd预处理出来任意两个间对的最短路,注意是有向边。。。然后定义dp[i][j]表示在i状态下最后一个经过的城市为j的最短时间。然后状压即可。代码如下:#include #include #include #include #include #include #include #include #includ

2015-01-10 16:26:42 724

原创 POJ 1185 炮兵阵地 (状压DP)

题目地址:POJ 1185这题的一个判断条件写错了。。导致错了好多遍。。sad。。这题跟3254差不多。可以发现,对于每一行放大炮的状态,只与它上面一行和上上一行的状态有关,每一行用状态压缩的表示方法,0表示不放大炮,1表示放大炮,同样的,先要满足硬件条件,即有的地方不能放大炮,然后就是每一行中不能有两个1的距离小于2(保证横着不互相攻击),这些要预先处理一下。然后就是状态表示和转移的

2015-01-10 14:56:41 830

原创 codeforces Round #1 C题 Ancient Berland Circus (计算几何)

这题的思路很好想,分成以下4步:1:求外切园半径2:求三个圆心角3:求三个圆心角的最大公约数4:最大公约数就是最大的正多边形内角,求面积即可。但是每一步都不会求啊。。。。sad。。。当想到第3步的时候甚至觉得应该用别的方法来求。。要换方法。。几何太渣了。代码如下:#include #include #include #include #include #inc

2015-01-09 22:08:59 935

原创 POJ 3254 Corn Fields (状压DP+滚动数组)

题目地址:POJ 3254状压水题。先预处理出每行所有可能出现的情况。然后可以用vector存起来。然后先处理出第一行所有的情况。然后再从第二行开始不断与上一行进行状态转移,状态转移很简单就不说了。最后统计出最后一行的个数和就可以了。代码如下;#include #include #include #include #include #include #inclu

2015-01-09 21:03:52 743

原创 HDU 1695 GCD (容斥原理+质因数分解)

先进行预处理,对每一个数分解质因数。然后将因为若gcd(x,y)==z,那么gcd(x/z,y/z)==1,又因为不是z的倍数的肯定不是,所以不是z的倍数的可以直接去掉,所以只要将b和d除以k,然后就转化成了求两个范围中互质的对数了。这时候可以枚举1~b,然后用容斥原理找1~d范围内的与枚举数互质的数的个数,为了避免重复,只要再限定下大小关系就可以了,具体见代码。代码如下:#inclu

2015-01-08 19:06:12 963

原创 HDU 4135 Co-prime (容斥原理+质因数分解)

这题只要知道质因数的性质就很容易做了。任意一个正整数(除了1)都可以分解成有限个质数因子的乘积。那么假如两个数互质,那么这两个数肯定至少各有一个对方没有的质因子。所以若一个数跟n不互质,那么这个的数的质因子肯定也都属于n的质因子,那么就用容斥原理求出所有跟n不互质的所有数的个数。然后再用总的减去即可。代码如下:#include #include #include #include

2015-01-08 15:21:57 939

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

这个题的m的数中居然有0啊,RE了好几次。。。。初学容斥原理,这才知道还有奇加偶减这个东西,以前一直以为容斥原理不过是把重复的删掉就好了,。。然后知道奇加偶减这个东西后,就可以深搜了,将所有组合情况全列出来,然后求lcm就好了。数的个数就是(n-1)/lcm,虽然我代码里写的是gcd。。不要在意这些细节。。。#include #include #include #include #

2015-01-08 11:13:24 802

原创 POJ 3067 Japan (树状数组)

题目地址:POJ 3067按x为第一关键字从小到大排序,再按y为第二关键字从小到大排序,然后用y来建立树状数组,每次找比y大的就是每次更新的交点数。代码如下:#include #include #include #include #include #include #include #include #include using namespace std;#def

2015-01-01 10:46:03 1394

原创 bnu新生赛D 柯南的精灵(矩阵快速幂)

题目地址:http://www.bnuoj.com/v3/contest_show.php?cid=5727#problem/D学了矩阵快速幂之后,终于用到一次了。。没学之前天天遇到。。学了之后终于遇到一次了。。。特来纪念一下分别设方程f(x)为发育期精灵,g(x)为更年期精灵,h(x)为天数。然后f(x-1)                      f(x)g(x-1)  

2014-12-27 18:28:41 946

原创 HDU 1556 Color the ball(树状数组)(填坑)

题目地址:HDU 1556因为听别人说树状数组能做的线段树都可以,所以也一直没学,但是现在遇到好多题卡线段树。。。跪了。。所以就学一下填填坑。这题应该是树状数组的入门题了。不多说了。代码如下:#include #include #include #include #include #include #include #include #include using

2014-12-27 17:12:29 876

原创 Codeforces Round #283 (Div. 1)解题报告A.B.C.

A - Removing Columns贪心。只能是竖着不递减的就尽量选上,当某一行出现字典序大于上一行的情况的时候,就不用再考虑这一行。代码如下:#include #include #include #include #include #include #include #include using namespace std;char s[1002][1002

2014-12-27 11:22:27 1032

原创 SDUT 3061 聪明的玛雅 (状压DP)

题目地址:SDUT 3061这题的比赛的时候的后台数据是错的。。。好坑啊。。。。就不吐槽出题人了。。比赛的时候我的思路是错的,漏考虑了一种情况。应该把所有状态下的最短距离都要求出来,而我当时的思路是按照前面能选两个则选两个的贪心思路来状压,但是有的时候可以最多走奇数个并且没全走完,这种情况下就不对了。正确思路是每次找两个没走过的状态,分成选一个和选两个两种情况来DP。然后最后找所有状态

2014-12-16 09:32:48 1038

原创 SDUT OJ 3045 迷之图论 (树的直径)

题目地址:SDUT OJ 3045这题比赛的时候想的差不多。。但是总是觉得不对。。写了一次就没再写,然后删了。。当时没想到的是第二次求出来的就是最长链。。当时想到的两次bfs找最大值(这一种方法其实结果也对。。TAT。。),还有找到点后在回溯减去重点等等。。但总觉得好像都不太对。。。赛后才知道这题原来是树的直径。。。。。牡丹江区域现场赛的时候遇到过,不过赛后也没看。。。找树的直径的方法其实

2014-12-06 21:46:48 1117

原创 Codeforces Round #281 (Div. 2) 解题报告 A.B.C.D.

A - Vasya and Football纯模拟。。比较坑的是会有不符合足球常识的地方。。代码如下:#include #include #include #include #include #include #include #include #include #include #include using namespace std;#define LL

2014-12-04 20:46:43 1290

原创 Codeforces Round #280 (Div. 2) 解题报告 A.B.C.D.E.

不知道到底是我的水平提高了还是CF的题目变水了。。。。。。A - Vanya and Cubes水题。。暴力枚举就可以。。代码如下:#include #include #include #include #include #include #include #include #include #include #include using namespa

2014-12-03 19:47:55 1028

原创 BestCoder Round #20 解题报告 A.B.C.

A题:who is the best?题目地址:HDU 5123水题。哈希,然后枚举找最大的,从小的开始找。代码如下:#include #include #include #include #include #include #include #include #include #include #include using namespace std;

2014-12-01 20:42:39 1019

原创 Codeforces Round #278 (Div. 1) 解题报告 A.B.

A题:Fight the Monster枚举+二分因为每个元素的数据范围只有100,所以可以用枚举,对于血量用二分,然后判断结果是否可行。代码如下:#include #include #include #include #include #include #include #include #include #include #include using

2014-11-30 16:58:27 1298

原创 Codeforces Round #279 (Div. 2) 解题报告 A.B.C.D.E

A - Team Olympiad贪心水题。。都从第一个开始取即可。代码如下:#include #include #include #include #include #include #include #include #include #include #include using namespace std;#define LL __int64int

2014-11-24 21:04:26 1344

原创 Codeforces Round #277.5 (Div. 2) 解题报告

还是只会4道。。sad。。。A:SwapSort用一个数组存储排好序之后。然后从头开始依次将需要交换的与本来应该在这个位置的交换,最多交换n-1次。代码如下;#include #include #include #include #include #include #include #include #include #include #include us

2014-11-21 15:10:55 860

原创 POJ 2431 Expedition (贪心+优先队列)

题目地址:POJ 2431将路过的加油站的加油量放到一个优先队列里,每次当油量不够时,就一直加队列里油量最大的直到可以到达下一站为止。代码如下:#include #include #include #include #include #include #include #include #include #include #include using names

2014-11-20 16:44:38 920

原创 HDU 4521 小明系列问题——小明序列 (线段树维护DP)

题目地址:HDU 4521基本思路是DP。找前面数的最大值时可以用线段树来维护节省时间。由于间隔要大于d。所以可以用一个队列来延迟更新,来保证每次询问到的都是d个之前的。代码如下:#include #include #include #include #include #include #include #include #include #include #i

2014-11-12 21:47:29 1157 1

原创 Codeforces Round #277 (Div. 2) 解题报告

只会做3道。。TUT。。A题:Calculating Function水。每两项为1.对奇偶性分类讨论。代码如下:#include #include #include #include #include #include #include #include #include #include #include using namespace std;#de

2014-11-12 20:30:47 806

原创 POJ 1113 Wall (凸包)

题目地址:POJ 1113先求出凸包的周长,然后剩下的弧合起来一定是个半径为l的圆,然后再加上以l为半径的圆的周长即可。代码如下:#include #include #include #include #include #include #include #include #include #include #include using namespace st

2014-11-11 21:00:13 704

原创 POJ 2187 Beauty Contest (凸包)

题目地址:POJ 2187凸包第一发。。用的大白书上的andew算法。先求出凸包,然后最大距离一定是凸包之中的某两点之间的距离,然后枚举找出最大值。代码如下:#include #include #include #include #include #include #include #include #include #include #include us

2014-11-11 20:08:26 783

原创 POJ 3648 Wedding (2-SAT+输出可行解)

题目地址:POJ 3648这题终于AC了。。。。没有专门对新郎新娘加一条边。。这题前面一直读错题意了,调试了好长时间样例也没过。。这题的意思是只要新郎那一边没有通奸的就可以,然后输出新娘那一边的人。然后就是对那些有**关系的加边,由于新郎新娘必须要在两侧,所以最后要额外加一条边。然后用强连通判断,逆拓扑染色输出可行解即可。代码如下:#include #include #in

2014-11-11 14:42:56 908

原创 POJ 2420 A Star not a Tree? (模拟退火)

题目地址:POJ 2420今天在比赛遇到了这题。。于是现场学了一下模拟退火。。。。这题是先初始化为一个点,然后不断趋近距离和最短的点。还是挺简单的。。代码如下:#include #include #include #include #include #include #include #include #include #include #include u

2014-11-09 19:27:21 1046

原创 POJ 3678 Katu Puzzle (2-SAT)

题目地址:POJ 3678算是2-SAT裸题了。。分类讨论就行了。。代码如下:#include #include #include #include #include #include #include #include #include #include #include using namespace std;#define LL __int64cons

2014-11-07 15:46:44 934

原创 Codeforces Round #276 (Div. 2) 解题报告

题目地址:http://codeforces.com/contest/485A题:Factory按照过程模拟,并判断是否出现循环,如果出现循环,说明肯定不可能,直接跳出。代码如下:#include #include #include #include using namespace std;int _hash[100001];int main(){ int a

2014-11-07 10:49:36 799

原创 POJ 3683 Priest John's Busiest Day (2-SAT+输出可行解)

题目地址:POJ 3683第一次做需要输出可行解的题目。。。大体思路是先用强连通来判断是否有可行解,然后用逆序建图,用拓扑排序来进行染色,然后输出可行解。具体思路见传送门因为判断的时候少写了一个等号。。检查了好长时间。。sad。。。代码如下:#include #include #include #include #include #include #include #

2014-11-05 22:23:16 1624 4

原创 HDU 3622 Bomb Game (二分+2-SAT)

题目地址:HDU 3622先二分半径,然后小于该半径的不能选,对这些不能选的点对进行加边。然后判断可行性即可。代码如下:#include #include #include #include #include #include #include #include #include #include #include using namespace std;#d

2014-11-04 20:22:25 943

空空如也

空空如也

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

TA关注的人

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