自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

A Cube Master

一个Cuber的ACM历程

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

原创 Codeforces Good Bye 2014 解题报告 (A B C D)

A. New Year Transportation        水题,直接模拟就行。我居然连跪两发。#include #include #include #include #include #include #include #include #include #include using namespace std;int a[30010];int mai

2014-12-31 08:48:59 805 1

原创 Codeforces Round #284 (Div. 1) C

C. Array and Operations        题意:有n个数,a1~an;m对数i1/j1~im/jm(ik+jk为奇数)。每次操作取出其中一对ik/jk,使a[ik]和a[jk]同时除以一个不为1的正整数v。问最多能够进行几次操作。        思路:很容易得出,每次操作的v越小,接下来还能进行的操作就越多,进一步得出,v应该选择素数。因为每对数的和是奇数,

2014-12-30 14:21:34 507

原创 poj 2481 Cows

题意:给出n个区间,对每个区间求有多少个区间包含它且比它大。        思路:树状数组。对区间左端点升序排序,右端点降序排序。扫一遍,查询之前有多少右端点大于等于当前右端点,把当前右端点加入BIT。处理的时候右端点需要+1,遇到相同区间直接复制答案,更新BIT。#include #include #include #include #include #include

2014-12-28 18:10:48 441

原创 poj 1328 Radar Installation

题意:平面上有一些点,你需要在x轴上添加一些半径为d的圆,使得所有点都在圆的范围内,求最少添加圆的数量。        思路:贪心。对每个点,计算圆能把它包含在内的最大横坐标,对它排序、然后按顺序检查一遍就好了。#include #include #include #include #include #include #include #include #inclu

2014-12-27 15:17:09 455

原创 poj1722 SUBTRACT

题意:一列数共n个,每次选择一个i,在第i和i+1个数之间添加减号,然后用差代替这两个数。最后使得n个数合成一个数T。求减号添加的位置顺序。        思路:dp(背包)。背包记录路径,就可以得到这个序列每个位置添加的是加号还是减号。然后怎么得到减号添加的顺序呢,按顺序扫描这个序列的符号,如果是加减相间的(第一个符号必须是‘-’,如“-+-+-+”),就继续往下扫,如果发现连续两个同号或者

2014-12-27 15:02:16 609

原创 Codeforces Round #284 (Div. 1) A

A. Crazy Town        n条路(直线)把无限大的平面分为若干部分,给出家和学校的坐标,每一步只能走到有“公共边”的区域,问最少要走多少步。        自己在纸上画一下就可以发现规律,如果家和学校分别在一条直线的两边,结果就会增加1。问题就转化为了线段与直线判交的问题。#include #include #include #include

2014-12-25 14:53:46 540

原创 Codeforces Round #282 (Div. 1) B

B. Obsessive String        题意:给两个字符串s和t。你需要在s里面取出一些不互相重叠的子串,使得每一个子串都包含t,问有多少种取法。        思路:字符串hash+dp。hash是为了高效比较s的子串和t是否相等。设s长度为n,递推计算s1~si的结果,i=1...n。不好用语言描述,见代码。。。#include #include

2014-12-23 18:42:59 539

原创 Codeforces Round #283 (Div. 2) E

E. Distributing Parts        题意:一个节目,有n个部分,每部分有一个范围;有m个人,每个人有个能力范围,能表演若干部分。如果人的范围包含了某个部分的范围,就能表演那个部分,问如何分配。        思路:贪心+平衡二叉树(set)上查找。将每个部分和人按范围的下界排序,然后对每个部分,把下界满足表演要求的人加到集合里去维护,然后贪心找一个上界尽量

2014-12-22 17:29:11 908

原创 Codeforces Round #283 (Div. 2) D

D. Tennis Game        题意:两个人打球,共打了n个球。先拿下t个球的赢一局,先拿下s局的获胜。给出每个球的结果,求所有可能的s和t。        思路:枚举t,二分搜索。很容易分析出来,如果A获胜,那么最后一局一定是A赢的。如果A赢下某一局,该局最后一个球一定是A赢的。做法是枚举每个t,判断是否存在一个s,使得序列合法。我们先计算出打到第i个球时,两人共

2014-12-19 23:12:24 669

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

A. Minimum Difficulty        暴力去掉每个数,计算一下找最小值就行了。#include #include #include #include #include #include using namespace std;int a[110];int b[110];int main(){ int n; cin>>n; for(

2014-12-18 11:39:10 604

原创 Codeforces Round #282 (Div. 1) A

题意:给出一个串,包含'(',')','#'(至少有一个)三种字符。你需要在'#'处替换为一个或多个')',使得这个串从开头到任何位置,左括号数量不少于右括号,最终左右括号数量相等。        思路:贪心,前面的'#'可以只替换一个右括号,最后一个替换为还需要的数量。难点在于判断不合法的情况,容易坑在最后一个'#'后面出现了不平衡的情况。代码写的比较挫。。。#include

2014-12-14 09:48:51 780

原创 2014 ACM-ICPC 上海站总结

2014,上海,这大概是我打的最后一场regional。说实话,打得不像上一场西安站那么有感觉,下面来说说我的比赛经历。        周五,老师开车搭我和殷华去火车站,路上给我们买了水杯和一些吃的,好贴心的感觉。然后我们上了火车前往上海。十点车厢熄灯以后,我很快就睡着了,没想到夜里一点醒来却睡不着了,跑去车厢连接处看了一会书。。到上海之后,乘地铁去上大报道,有位志愿者领着,过程比较顺利,盈神

2014-12-10 19:53:13 1593

原创 poj 2155 Matrix

题意:一个n*n的01矩阵,初始全0,有两种操作,一是将一个矩形区间取反,二是查询某个元素的值,对每个查询输出0或1。        思路:二维线段树。这是我的第一道二维线段树,之前一直不理解,今晚狠下心仔细看终于顿悟了。二维线段树有两类节点,对于这道题,可以把每一(多)列视为用一棵线段树维护,维护的是区间被取反了多少次;X轴方向上,也用一棵线段树维护,维护的是区间内的列。查询的时候,边查询边

2014-12-05 01:23:39 487

原创 poj 1195 Mobile phones

题意:一个s*s的矩阵,初始都是0,有若干次操作,要么增加某个元素的值,要么查询某个范围的和。        思路:二维树状数组模板题。。#include #include #include #include #include #include #include #include using namespace std; #defin

2014-12-04 18:57:41 491

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

这场比赛真是大起大落。。比的时候一度排在rank1,以为从此达到人生巅峰了,结果最后B,C都FST了,都是因为很2的错误,B为了偷懒,居然把数加到string里比较字典序。C漏一个"=",而且有语句写错了位置。        CF题的难度,好像有变水的趋势。。以前前3题没算法,现在前4题都没有,而且还没编程复杂度。。A. Vasya and Football

2014-12-04 08:37:45 820

原创 hdu 5046 Airport

题意:n个城市,建k个飞机场。你需要使离飞机场最远的城市距离飞机场最近。距离的定义是横坐标的差+纵坐标的差。        思路:二分距离,DLX判断能否满足要求。直接上的模板。。貌似c++的abs()函数返回类型是int,坑了我好多发。。#include#include#include#include#include#include#include#include

2014-12-02 21:36:06 553

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

A. Vanya and Cubes        思路:累加计算叠到每个高度至少需要多少方块,然后找最后一个满足的即可。#include#include#include#include#include#include#include#includeusing namespace std;#define ll long long#define INF 1

2014-12-02 19:35:19 760

原创 模板--DLX

struct DLX{ int n,sz; int S[maxn]; int row[maxnode],col[maxnode]; int L[maxnode],R[maxnode],U[maxnode],D[maxnode]; int ansd,ans[maxn]; void init(int n){ this->n=n; for(int i=0;i<=n;i++){

2014-12-01 06:28:09 603

原创 poj 3740 Easy Finding

题意:给一个01矩阵,问是否能找到一个行的集合,使得集合中每列出现且仅出现一次‘1’。        思路:舞蹈链X算法模版题。来谈谈我对这个算法的理解。。这个算法是一个深搜,但是它的数据结构非常巧妙,是一个循环十字链表,把矩阵内为1的元素建立节点,都链起来,还加上了一个“表头”。每次先选一列没找到‘1’的列,如果没有,则寻找失败;如果有,选择一行,把这行,这行有‘1’的列,与这行有公共列出现

2014-12-01 06:26:17 529

空空如也

空空如也

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

TA关注的人

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