自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HDU 5603 the soldier of love (线段树)

分析:很经典的区间覆盖问题,给nn个线段,问mm个区间[L,R][L,R],共完全覆盖多少条不同的线段?如果要完全覆盖,那么l>=L,r<=Rl>=L,r<=R,如果这个时候我们把区间加入线段的序列,按照右端点rr来排序,用一颗线段树来维护所有的左端点,那么就是一个线段树的插入+查询操作。此题离线做就可以了。代码:#include <bits/stdc++.h>using namespace std

2015-12-26 23:34:13 471

原创 QT环境问题

前一段时间,安装Gvim的编译环境的时候安装了Mingw,然后今天打开QT,不能运行了!!!什么鬼,各种百度结果没找出来什么问题,然后找秦总问了问,他说可能是项目中的问题。然后发现确实是构建环境出了问题,QT默认是用系统环境?只需要勾上清楚系统环境就好了,Mark一下。毕竟对QT还是初学者阶段。

2015-12-24 00:41:49 310

原创 CodeForces 605D Board Game(树状数组)

分析:找所有比(a,b)(a,b)小的数,可以先以找第一个数aa比小的所有集合中,第二个数比bb小的集合,肯定不能两次sortsort,可以用线段树+setset来搞定这件事情,线段树的坐标为aa的值,每个节点存的东西为一个setset集合,所有第一个数比aa小的集合,然后要找第二个数比bb小的集合,只需要在setset里面找就好了,这个时候时间复杂度:o(nlognlogn)o(nlognlogn

2015-12-19 23:58:26 1065

原创 SRM675 medium ShortestPathWithMagic(DP+Dijkstra)

题意:n个完全图,找出0到1的最短路,其中有k个魔法可以使用,每使用一个,当前道路的长度就会变为原来的一半。分析:设每个点有k中状态,更新每一个状态的最小值。代码:#include <bits/stdc++.h> #include <queue> #include <string> #define LL long long #define FOR(i,x,y) for(int i = x;i <

2015-12-18 10:00:09 439

原创 SRM675 div2 hard TreeAndPathLength2(DP)

第一次做TC,基本上第一场就是适应环境了,过了几天瞻仰了一下rng_58的代码,Orz好强!!!分析:如果给了一棵树,那么暴力每个节点,就可以找出长度为22的个数了,设一个点有dudu条边连接,那么以这个节点为中间节点的长度为22的个数为(du2){du}\choose{2}。dp[i][j][k]dp[i][j][k]表示用了ii个节点形成一个图,该图总边数为jj,长度为22的总个数为kk情况是否

2015-12-16 23:04:25 482

原创 CodeForces 603C Lieges of Legendre (SG函数)

分析:第一次写博弈的题目,虽然这题比较简单。如果kk为偶数:那么选择22操作后,该堆能指向的状态是: sg(2x)⟶sg(x)⨂...⨂sg(x)sg(2x){\longrightarrow}sg(x)\bigotimes...\bigotimes{sg(x)}。一共kk个sg(x)sg(x)异或。 ⟹sg(2x)⟶0\implies{sg(2x){\longrightarrow}0} 选择1

2015-12-09 17:38:50 570

原创 CodeForces 590A Median Smoothing

分析: 如果原序列中有两个相邻的0,或者两个相邻的1的话,那么这两个1(或者0)无论多少次变化,都不会发生改变,只有这种情况:1,0,1或者0,1,0。一个一个隔开来的数才会发生变化。那么将原序列分堆,连续的相同的数分在一堆,那么最后剩下来的序列为0,1,0,1,0,。。。(1,0,1,0。。。)这种形式,需要找的是相邻两个个数都不为1的堆之间长度为多少。如果这两个堆是0开始1结束,那么中间的数最

2015-12-08 16:30:04 472

原创 HDU 5593 ZYB's Tree (树形DP)

分析:做BC的时候一直死在题意,赛后才知道跪在哪里了,0点不用计算,距离为0的点也要算(也就是本身)。给出DP方程:设vv是uu子节点,fafa是uu父节点。 dp[u][k][0]dp[u][k][0]表示uu点向下走能找到的所有距离为kk的节点个数。 dp[u][k][1]dp[u][k][1]表示uu先向上走一步能找到的所有距离为kk的节点个数,(注意去掉走回uu点的)dp[u][k][0

2015-12-08 10:13:13 454

原创 CodeForces 601B Lipshitz Sequence (单调队列)

分析:很容易想到,区间斜率绝对值的最大值一定是所有相邻的斜率中的最大值。 然后把序列处理成后一个数减前一个数的绝对值。由于qq非常小,所以每一次询问支持o(n)o(n)的暴力。找区间s[l..r]s[l..r]序列所有子序列的值的和,从左向右枚举每一个数,找这个数对多少个不同区间有贡献,即找出这个数左边离他最近比它大的数的位置,找出右边离他最近的比它大的数的位置。这个时候发现有些区间被重复计算了,

2015-12-07 23:55:10 679

空空如也

空空如也

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

TA关注的人

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