自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 POJ 3667 Hotel

题目链接:http://poj.org/problem?id=3667 题意:有n个连续的房间,有2种操作,一种是有若干个客人入住,要选择连续且尽量靠左的房间,输出最靠左的房间若没有则输出0,一种是将清空di后到di+x的房间清空 思路:第一次做区间合并的题目主主要理解一下线段树的3个变量的用意义和更新方法 lsum:从该区间左边界开始有多少个连续的房间,比如:0 0 0

2015-08-30 21:41:56 261

原创 Codeforces 436C Gargari and Bishops

题目链接:http://codeforces.com/problemset/problem/463/C 题意:给出一个棋盘,每一个格子有一个权值,有2个主教棋子(攻击范围是2条对角线),要让棋子无法相互攻击(包括攻击范围不可以重叠),棋子可以获得一开始的攻击范围所有格子的权值,并且在攻击范围内自由移动,问如何摆放获得的权值最大 思路:利用像皇后问题的方式(i+j 和 i-j)标

2015-08-30 10:50:51 350

原创 HDU 2795 Billboard

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2795 题意:有一个h*w的黑板,有n张1*w的海报,每张海报尽量往上帖(最上面是1),同样高度则往左贴,输出每一张海报的高度,如果这张海报贴不上则输出-1 思路:开始想到了用高度建树,保存每一个高度还剩下多少w,但是没想到怎么查询……,应该尽量往左字树进行查询,直到一个高度可以容纳

2015-08-28 21:34:43 234

原创 Codeforces 460C Present

题目链接: 题意:有n朵花,有m天,每一天可以对第i朵花浇水,会影响到[i,i+w-1]区间里的花,使他们长高1长度,求m天后所有花里最矮的花的高度最大值(写的好绕口啊……) 思路:因为求得是所有花里最矮的最大值……所以区间一定在[min,max+m]里所以用二分就可以了,然后对每一朵高度不够的花进行浇水操作,利用hei数组记录停止影响的花朵,变量day记录浇水的天数

2015-08-27 10:30:18 333

原创 POJ 2528 Mayor's posters

题目链接:http://poj.org/problem?id=2528 题意:有N张海报,每张海报贴在[L,R]的区间上,问最后还能看见多少张海报 思路:一开始在纠结如何保存一个区间有多少张海报,上一次填色的题目因为数据少,可以用二进制保存,这次数据非常大,不过因为只查询一次,直接遍历一次线段树就可以了,不过需要离散化,注意离散化的时候之间隔了1个数以上的2个数离散化时也要隔一

2015-08-26 18:40:15 185

原创 Codeforces 459D Pashmak and Parmida's problem

题目链接:http://codeforces.com/problemset/problem/459/D 题意:给出一个数列,定义f(1, i, ai) 为区间[1,i]中所有大小等于ai的数的个数,求有多少对i,j满足f(1, i, ai) > f(j, n, aj) 思路:看了半天没看懂f(1, i, ai) 的定义……预处理好每一个f(1, i, ai) 与 f(j, n,

2015-08-25 16:58:31 362

原创 POJ 3468 A Simple Problem with Integers

题目链接:http://poj.org/problem?id=3468 题意:给出n个数,2种操作,一种将[l,r]中得数同时加上val,一种是查询[l,r]所有数之和 思路:又是区间更新和查询(树状数组就可以很好的解决),也是典型的线段树,lazy标志用法和之前有些不一样,每次更新成新区间的和与旧区间和的差值,查询时要把lazy标志向子节点推(这一步另外写一个函数会好看很多,

2015-08-24 18:46:29 168

原创 POJ 2777 Count Color

题目链接:http://poj.org/problem?id=2777 题意:给出一面长度为len的墙,一开始的颜色是1,进行2种操作,一是将[l,r]涂成颜色p,二是询问[l,r]区间一共有多少种颜色 思路:对区间进行修改和询问,很容易想到用线段树,但是如何保存有多少种颜色呢,因为颜色少于30种(我又看了题解),所以可以用位运算进行状态压缩,剩下的就是线段树普通的区间修改和更

2015-08-23 00:29:38 178

原创 HDU 1394 Minimum Inversion Number

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1394 题意:把第一个数放到最后一个,重复n-1次,问最小逆序数 思路:先利用线段树求逆序数,将第一个数放到最后,n-a[i](比a[i]大的数的个数)的逆序数会加1,再减去a[i]的逆序数(a[i]在最前面,逆序数为a[i]) #include #include #i

2015-08-21 21:39:39 185

原创 HDU1698 Just a Hook

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1698 题意:给出一段1~n的区间,区间内所有数初始为1,现在可以修改区间内任意一段,问m次修改后区间的和 思路:区间更新以及区间询问,一个一个点进行修改复杂度太高,这里就使用了lazy标记,当整个区间都更改为val时,则用lazy标记该区间,并且更新sum,比较难理解的应该是只修改

2015-08-20 19:11:40 254

原创 HDU 1754 I Hate It

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1754 题意:给出n个数字m次操作,操作分为2种,更新某一个数的大小和询问某一区间的最大值 思路:很经典的线段树,单点更新以及查询区间,刚学习线段树按照别人的思路已经写过一次了,这次写的应该更贴近自己的想法 #include #include #include #in

2015-08-19 10:16:55 237

原创 Codeforces 455B

题目链接:http://codeforces.com/problemset/problem/455/B 题意:给出N个字符串,有2名选手,s一开始是个空串,每回合轮流往里面填字母,使得s为N个字符串其中一个的字串,若不能再往里面填字母则输,输了的下回合先手,问最后一回合谁赢 思路:完全不会……参考了别人的题解,先用字典树保存N个字符串,在用深搜索把每一个节点的状态标记,状态

2015-08-18 19:53:00 673

原创 HDU 1166 敌兵布阵

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166 题意:给出一个n个数字,进行2种操作,更改一个数字大小或者询问一个区间所有数字的和 思路:线段树典型的单点更新,区间询问,用树状数组也可以实现,s数组要从1开始,一时没注意查了好久 #include #include #include #include #d

2015-08-18 10:19:02 273

原创 Codeforces 439C Devu and Partitioning of the Array

题目链接:http://codeforces.com/contest/439/problem/C 题意:给出n个数,要求将其分为k份,k有p份之和是偶数,p-k份之和是奇数,给出分配方案 思路:2个奇数可以组成一个偶数,一个奇数一个偶数可以组成一个奇数,这样构造就行,一开始用数组保存方案数,结果超内存了,后来直接构造好就输出,最后一组数的和可能要求是奇数也可能要求是偶数,所以奇

2015-08-15 12:11:11 361

原创 Codeforces 432C Prime Swaps

题目链接:http://codeforces.com/problemset/problem/432/C 题意:给出一个大小为n无序数列s,1 思路:一个数可以分拆为k个质数(k #include #include #include #include #define maxn 100030 using namespace std; int s[100030

2015-08-14 19:27:12 532

原创 UVALive 5815 Pair of Touching Circles

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3826 题意:给出一个N*M的方格,要求2个相切的圆的圆心(x,y)都在方格上,且半径为整数,问一共有多少种情况 思路:刚开始时想要枚举每一个点,在枚举2个圆

2015-08-10 19:28:51 474

原创 UVALive 5809 Binary Matrix

题意:给出一个只有0和1的矩阵,相邻的2个位置(包括头和尾)可以交换,问通过最少的交换次数可以让每一行和每一列的1数目相同 思路:刚开始觉的要同时照顾行和列进行转换会很麻烦,看了别人的题解和代码,其实只要分别对行和列转换使其分别满足条件就可以了,要怎么使交换步数最少呢,参照某一道经典的换苹果题目,将其转换为到某一点距离最短,由于数据小,可以暴力一遍(不暴力用某个神奇的公式似乎也可以……但

2015-08-10 11:15:22 380

原创 UVALive 5881 Unique Encryption Keys

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3892 题意:给出有n个数的序列,进行m次询问,每次询问给出一个区间[l,r],问区间中是否有重复的数 思路:把整个序列进行一次预处理,求出与第i个数相等且排在它

2015-08-07 11:17:17 292

原创 HDU 2701 Lampyridae Teleportae

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2701 题意:给出1个原点以及依次给出N个点,每一次都从原点向第i点移动L的距离,更新原点,移动后若i点在以原点为圆心半径为1的圆内,则符合条件,否则继续向下一个点进行移动直到符合条件 思路:题目依然很难读,到最后都没发现只要在1的范围内就满足条件,最后是原点的更新出了点问题,我一律

2015-08-06 10:56:59 563

原创 HDU 2703 The Bridges of San Mochti

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2701 题意:有N条通路以及M个人,每条通路每次仅能通过w个人,每一组人通过需要花费时间t,且需要满足2个条件        1.每次只能有一组人进入一条通路        2.当通路入口有人且通路为空则必须进入 思路:题目很长……刚开始题目都没有读懂,

2015-08-06 10:42:24 330

原创 Codeforces 443B Kuriyama Mirai's Stones

题意:给大小为N的序列,M次查询,有2种查询方式,一种是给出区间L和R,问序列中L与R之间所有成员的和,一种是给出L和R,求序列第L大的数到第R大的数之间的成员的和。 思路:刚开始用树状数组解决,然后发现数据太大无法保存,然后发现该题是不用更新维护的,只要做一遍预处理就可以了,然后很蠢的针对第一种询问做了预处理,发现超时,然后才发现要再对第2种查询进行预处理 #in

2015-08-05 09:48:58 659

原创 HDU 3720 Arranging Your Team

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3720 题意:有4种一共23球员,需要选出10个球员组成4-4-2 阵容和1个守门员,每个球员都有能力值,以及2个球员之间可能会有combin,额外增加或者减少能力值 思路:一开始就想到了dfs,但是很蠢的选择了递推到11层,每层从23个球员进行挑选的方式,后来看了题解……进行了剪枝

2015-08-04 19:25:32 454

原创 HDU 3729 I'm Telling the Truth

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3729 题意:一共有N个点,每一个点分别对应一个区间里任意一个数,要求出所有可以匹配的点 思路:刚开始以为是区间贪心,按照其左区间进行了排序进行贪心,wa了几次,但是并没有发现哪里错了……后来看了别人的题解,发现是利用二分图照增广路来进行匹配,有多个答案要输出字典序最大的序列,匈牙利

2015-08-04 19:12:51 424

空空如也

空空如也

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

TA关注的人

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