自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

axp

coder

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

原创 Codeforces Round #379 (Div. 2) F. Anton and School

题意:给出两个长度为n(n<=2e5)的数组b和c(0<=b[i],c[i]<=1e9),求出一个数组a,使得 b[x]=∑(a[x] and a[i])b[x]=\sum (a[x]\ and\ a[i]) c[x]=∑(a[x] or a[i])c[x]=\sum (a[x]\ or\ a[i]) 如果不存在解,输出-1首先要知道a&b + a|b = a+b,关于这点自己模拟下就懂了。

2016-11-17 12:55:29 313

原创 Codeforces Round #333 (Div. 2) E Kleofáš and the n-thlon

上课时间突然毒瘾发作,于是掏出笔记本切掉了这题,我好兴奋啊.jpg题意:m个人进行n轮比赛,在每轮比赛中,所有人的得分是一个1~m的排列,最终得分是每一轮的分数之和。rank的定义是 得分严格小于你分数的人数+1。给出一个人在每一轮的得分,求他最终的期望rank。(n<=100,m<=1000)首先注意到,直接求出某一个人的期望rank是非常困难的,而剩余的m-1个人是等价的,所以可以考虑求出其中

2016-11-17 12:32:58 378

原创 HDOJ 4352 XHXJ's LIS

题意:定义一个数的力量为这个数的最长严格上升子序列长, 找出区间内力量等于k的数,数据范围是long long型比较明显的数位DP,重点在于怎么找这个最长严格上升子序列。用经典的dp可以做到nlgn求解最长子序列,dp[x]就是长度为x的子序列最后一位的最小值。实际上因为dp[x]是严格递增的,所以可以直接用状压来保存dp[x]中有哪些数,这个问题就解决了。剩下的就是数位dp套路了。下面代码dp[f

2016-03-15 20:49:00 327

原创 Codeforces Round #345 (Div. 1) C. Table Compression

掉回div2了悲伤啊= =题意是给出一个n*m的矩阵,要求出一个新的矩阵,同一行(列)中的任意两数大小关系不变(大,小,等于三种关系),同时使得新矩阵的最大元素最小,输出任意方案。大体思路就是把矩阵转化成有向图,然后在图中找最长路。把矩阵的每个元素都对应一个节点,对每一行(列)排序之后对相邻的两个元素的对应节点连一条边。这里有个问题是相邻两个元素可能相等,这个时候可以用并查集来缩点。然后就把矩阵转化

2016-03-08 17:47:44 436

原创 TC SRM 683 Div.2 1000 subtreeCount

第一次在tc拿到rank1,来更一篇题解以示纪念。 副标题:感天动地!灰名选手怒拿rank1(然后才涨到绿还是要打div2 恍恍惚惚红红火火题意是给出一棵树,然后计算它所有的子树的节点数量之和,比较明显的树形DP。(n<=1e5)首先考虑找出所有的子树,当然是在有根树上遍历所有的点作为根啦。先想一个简化的问题,如何计算所有子树的数量。

2016-03-01 11:11:49 524

原创 Codeforces Round #342 (div.2) E

这个博客注册了快一年了= =然而一直懒得写,又是一年寒假,突然想起去年的计划。。。如果懒病不犯就一直更下去了。题意是有n只兔子放在一个环形的gameboard(什么鬼)里,这个gameboard划分为m个格子(首尾相连。每个兔子都有一个初始的位置p和移动距离a。游戏开始后,编号为1的兔子往前移动a个格子,它路过的格子中的兔子都被它击败并移出格子,然后a减小它击败的兔子数量,之后下一

2016-02-16 13:43:53 377

原创 NBUT 1153 Hero May Die But the King Will Never

题意就是勇士给国王当肉盾,每个勇士最多挡s秒就回家洗洗睡了,然后下一个勇士至少在他离开后b秒才会到来,攻击总共持续m秒,求国王所受最小伤害首先考虑到抵挡时间可以小于s秒,其次两个勇士之间间隔可能会大于b秒,但是不会大于b+m秒,否则则这段空闲时间内就可以再多出一个勇士来防御了,不是最优解。然后就定下来思路了,用数组储存前x秒攻击之和为sum[x]。状态dp[x]定义为从x秒开始

2015-04-15 12:00:55 492

原创 第五届河南省大学生程序设计竞赛题解(第一次群赛兼妇女节专场)

A暴力范围#include using namespace std;int kase;int l,r;pair arr[60];int n;int f(int x){    int re=0;    while(x)    {re*=10;re+=x%10;x/=10;    }    return re;

2015-03-11 11:15:10 656

空空如也

空空如也

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

TA关注的人

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