自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 cf_301

源地址:http://codeforces.com/contest/540好久没做题了。。真是略微颓废。。感觉五一这三天本来挺空闲的,,但是什么都没做,也没出去玩。。烦。A:水题,对应每个数字,我们看下顺时针转还是逆时针转的路程会比较短。#include#include#include#include#include#include#include#include#in

2015-05-03 22:28:31 332

原创 cf_298

源链接:http://codeforces.com/contest/534。。最近不知道为什么,,觉得做题目毫无状态。。略微迷茫。。A:连A都错了。。真的是。。题意就是把1-n个数排在一起,是的相邻的数相差不能为1.其实就是把奇数放在一起,,然后再把偶数放在一起。。可是事实是不能先放奇数,,比如n=4,如果先放奇数,那么就会有1 3 2 4这种情况,3和2就是差1了。。。。所以一定得先

2015-04-14 13:07:24 1018

原创 ZeptoLab Code Rush 2015

源地址:http://codeforces.com/contest/526最近做题实在是没有感觉,,略颓废。。A:暴力枚举#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includ

2015-04-07 17:26:35 438

原创 poj_2031

源地址:http://poj.org/problem?id=2031题目大意是有n个球,下面有n行,分别是每个球的x,y,z坐标和半径,叫你求将所有球连起来所需的最短长度。两个球之间的距离被定义为求表面之间的距离,即x1*x2+y1*y2+z1*z2-r1-r2,如果两个球之间表面有接触,那么它们之间的距离就为0.题目求的其实就是最小生成树,知道题意了就不难。#include#inc

2015-04-03 13:58:08 337

原创 poj_3122

源地址:http://poj.org/problem?id=3122题目大意就是有n块馅饼,要平均分成f份,问最大每份是多少。二分即可,上限是所有馅饼的面积和,下限是0.#include#include#include#include#include#include#include#include#include#include#include#include#

2015-04-03 13:37:35 313

原创 poj_1905

源地址:http://poj.org/problem?id=1905题目大意就是求一条路受热弯曲以后,膨胀起来的高度。就是求图中?的地方。我们假设图中?的地方高度为h,原路长为L,通过上面这幅图,我们可以计算得出r = (L*L+4*h*h)/(8*h)----------12*r*arcsin(L/2r)=S-----------2我们

2015-04-03 12:10:54 369

原创 poj_3258

源地址:http://poj.org/problem?id=3258题目大意:有一条河,宽为L,这其中有n块石头,问你移除其中k块石头,使得石头之间的最短距离最短,问你这个最短距离是多少。二分最短距离,然后遍历所有相邻石块之间的距离,如果这个距离小于目标距离,那就移除该石块。#include#include#include#include#include#include#i

2015-04-02 17:19:51 282

原创 poj_3273

源地址:http://poj.org/problem?id=3273题目大意就是给n个数字,要求分成m块连续的天数,使得每组的天数和尽量小,求在天数和尽量小的条件下,最大的天数和。二分,左边界是天数中最大的,右边界是总的天数和,二分的结果就是一个天数和,使得分组的每组和都不超过这个天数。最后输出这个天数即可。#include#include#include#include#in

2015-04-02 14:50:01 337

原创 pat_1013

源地址:http://www.patest.cn/contests/pat-a-practise/1013题目大意就是给你n个城市以及m对城市之间两两有路径存在,然后k个询问,每个询问输入一个城市号,问如果去掉与这座城市相连的所有的路,问你至少修几条路,才能使得剩下的城市全部连通。。其实很简单的,,去掉某个城市后,对剩余的图dfs一遍,或者用并查集记录,目的就是为了查询图中有几个独立的模块

2015-03-31 14:44:42 240

原创 pat_1012

源地址:http://www.patest.cn/contests/pat-a-practise/1012题目不难,主要是有一个地方要注意,比如有三个人,他们的分数是 95 95 90,那么第三个人的排名应该是3而不是2,这个注意了,基本上就能够答对。结构体排序 + map记录。#include#include#include#include#include#include

2015-03-31 14:04:53 559

原创 pat_1011

源地址:http://www.patest.cn/contests/pat-a-practise/1011题目大意很好懂,也很好做,水题。#include#include#include#include#include#include#include#include#include#include#include#include#include#include#

2015-03-31 12:53:57 369

原创 pat_1010

源地址:http://www.patest.cn/contests/pat-a-practise/1010题目大意就是给你两个数N1,N2,然后给你其中一个数的进制,问你另外一个数在某个进制下是否可能等于那个数,如果是,则输出进制(如有多个则输出最小的),如果不是,则输出(impossible)。题目其实不难,主要是范围给的不明确,造成错误。他这里的数用十进制表示以后可能很大,所以都得用l

2015-03-31 11:48:46 364

原创 pat_1009

源地址:http://www.patest.cn/contests/pat-a-practise/1009多项式乘法,用数组记录即可。。不过我wa了好几发。。貌似是出在判断某个系数是否为0上面。我是这样写的: if(ans[i] >eps) 就认为不为0,但是错了。。后来直接改成 if(ans[i] != 0.0) 才对。。不是很清楚哪里出问题了。。#include#includ

2015-03-29 22:18:25 265

原创 pat_1008

源地址:http://www.patest.cn/contests/pat-a-practise/1008以前做过这道题目,模拟下就好。#include#include#include#include#include#include#include#include#include#include#include#include#include#include#i

2015-03-28 17:38:35 303

原创 pat_1007

源地址:http://www.patest.cn/contests/pat-a-practise/1007最大子段和。。刚刚打过模板。。所以记得很清楚。。不过刚开始wa了一发,是因为题目特殊定义说 如果这个数列全为负数,那么定义成最大子段和为0,且输出首尾的数字,在这有一个判断条件写的不对。。具体看代码。#include#include#include#include#includ

2015-03-28 17:32:06 333

原创 pat_1006

源地址:http://www.patest.cn/contests/pat-a-practise/1006模拟题,找一下登入时间最小的和登出时间最大的那两个id即可。#include#include#include#include#include#include#include#include#include#include#include#include#incl

2015-03-28 17:16:46 316

原创 pat_1005

源地址:http://www.patest.cn/contests/pat-a-practise/1005模拟题,注意一下,ans可能为0,这个需要特殊判断,考虑全面就行了。#include#include#include#include#include#include#include#include#include#include#include#include#

2015-03-28 17:04:26 307

原创 pat_1004

源地址:http://www.patest.cn/contests/pat-a-practise/1004题目大意:给你一棵有n个节点的树,它的树根编号为1,有m个非叶子节点,它们分别含有k个子节点,然后跟着k个节点的编号,最后输出s个数,代表这s层每层的叶子节点的个数。刚开始把输入想的太理想化了,,以为都是一层一层来输入的,其实题目中并没有任何这样的信息。WA了一次。后来想想用bfs

2015-03-28 16:44:16 264

原创 pat_1003

源地址:http://www.patest.cn/contests/pat-a-practise/1003题目大意就是给你n座城市(编号从0-n-1),m条道路,起点c1,终点c2,然后接下去一行有n个数hands[0]....hands[n-1],代表每座城市有hands[i]个team,每经过一座城市就能收集到那个城市的team,然后接下去m行,每行三个数u,v,c,代表连接城市u和v的道

2015-03-28 10:17:30 247

原创 pat_1002

源地址:http://www.patest.cn/contests/pat-a-practise/1002就是一个多项式相加的过程,模拟一下即可。#include#include#include#include#include#include#include#include#include#include#include#include#include#inclu

2015-03-28 10:02:00 335

原创 pat_1001

源地址:http://www.patest.cn/contests/pat-a-practise/1001注意下像 -999999或者999999这种例子,不要在符号后面或者最前面加个逗号就好了~#include#include#include#include#include#include#include#include#include#include#include

2015-03-28 09:59:26 252

原创 cf_297

源地址:http://codeforces.com/contest/525A:读懂题意,模拟一下即可。#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include/

2015-03-27 17:04:46 585

原创 poj_2115

源地址:http://poj.org/problem?id=2115题目大意就是给四个数:A,B,C,K求for(int i=A;i!=B;i+=C) 这个循环在存储单位是K位的系统里面能够循环几次?存储单位是k位的意思就是当某个数到达了2^k这个上限后,会自动又从0开始(题目说了是无符号系统)。化成公式,就是  C*x%(2^k) = B-A求x的最小值。令 a=C,c=B-

2015-03-27 14:42:21 281

原创 poj_1845

源地址:http://poj.org/problem?id=1845题目大意就是给你A,B两个数,求A^B所有因子的和。要解这道题目,那么就要先知道好几个知识点。1.对于一个整数A,它有唯一的分解性,即它能被分解成其质因子幂的乘积:A=p1^k1*p2^k2*p3^k3*p4*k4........pn^kn(其中pi是A的质因子)2.对于一个已经分解为A=p1^k1*p2^

2015-03-27 10:22:38 242

原创 poj_3292

源地址:http://poj.org/problem?id=3292题目大意不难懂。这题其实就是个素数打表的变异,只要素数打表掌握好了,这道题目应该也不难。首先我们设一个数组,hnum[i],如果其值等于0,我们就认为它是H-primes,那么题目中要求的H-semi-primes就是两个H-primes的乘积,那么我们令i=5,j=5开始,只要hnum[i]==0&&hnum[j]==0

2015-03-27 09:38:03 373

原创 poj_2635

源地址:http://poj.org/problem?id=2635题目大意就是给你一个很大的数字,它有可能是两个素数的乘积,问你是否有个素数是小于10^6的,如果有,且即为p,就输出BAD p,否则输出GOOD。特别大的数就要把这个大数分成组,比如1234567,我们可以按照千进制把这个大数存到数组里面去,即[123][456][7],当然,我们存储时要倒过来,就是[7][456][12

2015-03-26 22:33:28 325

原创 pat_1099

源地址:http://www.patest.cn/contests/pat-a-practise/1098这是个建立二叉树并填数的过程,平常写的比较少,不是很熟悉,练练手。特别是那个填数的过程,其实就是用平常所谓的 中序遍历就可以将数字全部填入二叉树中。还有一个层次遍历,那个我们用bfs常用的队列就可以搞定(其中这本身就是个广搜的过程)。#include#include#inc

2015-03-24 20:57:43 319

原创 poj_1942

源地址:http://poj.org/problem?id=1942输入一个棋盘的规格n*m,问你从左下角走到右上角有几种方法。这是排列组合的问题。如果要走到右上角,那么从n+m步里面选择n步向左,或者m步向上即可,也就是计算组合数C(n+m,n)或者C(n+m,m),它们结果是一样的,但是我们计算时挑那个比较小的,这样计算起来快。那么要计算C(n,r),我们这样就好,因为  

2015-03-24 15:38:31 329

原创 poj_1019

源地址:http://poj.org/problem?id=1019题目大意:一个数字串由1 12 123 1234 12345 123456 12345678 123456789 12345678910..........组成然后给你一个位置n,求出第n个位置上的 数字 是多少。用一个a[i]表示第i组的长度,用s[i]表示前i组的长度和。首先,我们用s数组来求出我们要求的位

2015-03-24 15:10:01 273

原创 poj_1850

源地址:http://poj.org/problem?id=1850题目大意就是给你一个字符串,让你判断这个字符串的编码。如果不能编码,就输出0。编码方式题目中有。这个题目跟上次的也差不多,对于一个输入的字符串,我们假设它的长度为len.那么我们先算出所有长度小于len的字符串的个数。比如len=5那么如果len=1,有26个。len=2 ,有C(25,1)+C(24,

2015-03-24 11:04:56 244

原创 poj_3252

源地址:http://poj.org/problem?id=3252数学啥的也不会啊。。。这道题目纠结了一天。。。。看了题解,,琢磨了好久才有点头绪。。。题目大意就是给你两个数(m,n),问你从在[m,n]这个范围内,有多少个数,满足它的二进制表示中0的数量>=1的数量。首先,我们要先处理处这么一个式子: roundnumbers[m,n] = roundnumbers[0,n+1

2015-03-23 17:18:45 319

原创 poj_1159

源地址:http://poj.org/problem?id=1159题目大意就是在原字符串中加入最少的字母,使得整个字符串变成回文串。。其实这个很基础的。。。。我们将i从尾循环到头,j从i到尾,对于i,j如果ch[i]==ch[j],那么 dp[i][j] = dp[i+1][j-1] 否则的话 dp[i][j] = Min(dp[i+1][j],dp[i][j-1])+1不过要注

2015-03-22 14:50:10 306

转载 poj_1080

源地址:http://poj.org/problem?id=1080又是一道dp的题目,做dp没感觉啊。。- -这是一道字符匹配的dp,感觉和最长公共子序列有点像.最长公共子序列:if(s[i]==s2[j]) dp[i][j] = dp[i-1][j-1]+1else dp[i][j] = Max(dp[i-1][j],dp[i][j-1])而对于这道题目,字母还可以 ’

2015-03-22 14:03:23 332

原创 poj_3176

源地址:http://poj.org/problem?id=3176题目大意就是一个三角形,从顶部选一条路到低端,使得这条经过的路上的权值和最大,路只能是从上一层的j到下一层的j和j+1。经典的dp,从底往上走一遍就行。#include#include#include#include#include#include#include#include#include#in

2015-03-21 15:31:07 296

原创 poj_1260

源地址:http://poj.org/problem?id=1260题目大意不好说,比较复杂。百度下就能找到。动态规划的思想,用一个dp[i]代表买前i种珍珠所用的价格。我们知道,如果好几种珍珠要合起来买的话,那么它们一定是连在一起的(即i,i+1,i+2....),假设第i种珍珠和第i+2种一起买,那么肯定不如和i+1种一起,因为i+1种的价格肯定比i+2种便宜。那么在买第i种珍珠时

2015-03-21 15:22:08 268

原创 poj_1836

源地址:http://poj.org/problem?id=1836题目大意就是从一排身高迥异的士兵中剔除最少的人,使得队伍的样子如同如下这幅图:用LIS就行。先从头来一遍,再从末尾来一遍,最后枚举红蓝两个点,找出最长的不降子序列,也就是剔除的人最少。#include#include#include#include#include#include#include

2015-03-21 12:58:14 380

原创 poj_3267

源地址:http://poj.org/problem?id=3267题目大意就是给你一个单词s,然后给出一本字典,问你在原单词中最少删去多少个单词才能使其在字典中能查得到。dp,我们用dp[i]来代表从i到L(原单词的长度)要删的最少的单词数。我们从最后往前进行dp,最坏的情况就是对于每一个i,dp[i]=dp[i+1]+1,而对于一个i,我们假设s[i]等于字典中某个单词的首字母,并

2015-03-21 10:28:23 320

原创 poj_1276

源地址:http://poj.org/problem?id=1276题目大意就是有cash这么多的现金,然后有n种面值的钱,问用这n种面值的钱,最多能够凑成不超过cash这么多的现金。一看就是一道多重背包的裸题,用下多重背包的公式就好~#include#include#include#include#include#include#include#include#inc

2015-03-20 16:35:23 263

原创 poj_1837

源地址:http://poj.org/problem?id=1837刷到了自己最弱的Dp专题了。。啥都不会啊。。看了题解才知道,这是一道背包问题。用dp[i][j]来表示前i个物品达到平衡度为j时的方法数量,那么dp[i][j] = dp[i][j]+dp[i-1][j+w[i]*c[k]],就是说,如果前i-1个物品达到j+w[i]*c[k]时有dp[i-1][j+w[i]*c[k]

2015-03-20 15:42:22 265

原创 poj_1129

源地址:http://poj.org/problem?id=1129把题目大意抽象来说,就是在平面上用最少的颜色来标记所有的点,注意相邻的点不能为同一个颜色。这要用一个定理:四色定律。它是这样表示的::每个平面地图都可以只用四种颜色来染色,而且没有两个邻接的区域颜色相同所以答案最多就是4,建好边以后,我们把第一个点染成颜色1,然后从第二个点开始dfs,对于每一个点,我们都尝试这四种

2015-03-20 13:28:22 287

空空如也

空空如也

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

TA关注的人

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