自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不慌不忙、不急不躁

https://github.com/JeraKrs

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

原创 hdu 5045 Contest(dp)

题目链接:hdu 5045 Contest题目大意:一个队伍有N个人,比赛一共有M道题目,给定一个矩阵,表示每个人答对相应题目的正确率。现在对于每道题,可以派出一名学生参加答题,但是在任意时刻,任意两个学生答题数量不能相差2题以上。解题思路:dp[i][s],表示在第i道题,s表示一个二进制状态,表示哪些人答过题(相应的),2N−1=0#include #include #

2014-09-28 10:24:04 932

原创 poj 3667 Hotel(线段树)

poj 3667 Hotel题目大意:给定一个区间,两种操作:1 x:找到区间中最左边,将长度为x的区间放入,要求尽量靠左。2 l r:清空l,r + l - 1这段区间。解题思路:线段树的区间合并,每个节点记录S,L,R即可。#include #include #include using namespace std;const int maxn =500

2014-09-28 10:18:58 618

原创 hdu 3911 Black And White(线段树)

题目连接:hdu 3911 Black And White题目大意:给定一个序列,然后有M次操作;0 l r:表示询问l,r中最大连续1的个数1 l r:表示将l,r区间上的数取反解题思路:线段树的一种题型,区间合并,因为有一个取反的操作,所以对于每个节点要维护6个值,包括连续0,1最长序列的长度,左边和右边的最长连续长度。需要注意的是,如果询问的区间最大值是从R[lson

2014-09-28 10:08:08 1139

原创 uva 11561 - Getting Gold(bfs)

题目链接:uva 11561 - Getting Gold题目大意:就是一张图,每次走到陷阱周围,为了防止调入陷阱,会停止前进,问说最多能收集多少黄金。解题思路:bfs,将陷阱周围标记,走到就停止即可。#include #include #include #include using namespace std;const int maxn = 55;const

2014-09-26 21:25:47 1352

原创 uva 11556 - Best Compression Ever(水题)

题目链接:uva 11556 - Best Compression Ever题目大意:有n个文件,问说用b+1位是否可以表示,全0不能表示。解题思路:水题,不过话说英语实在看不懂啊,题意是半猜的。#include #include #include using namespace std;typedef long long ll;int main () {

2014-09-26 21:22:40 1226

原创 uva 10587 - Mayor's posters(线段树)

题目链接:uva 10587 - Mayor's posters题目大意:就是有一个长度为n的公告板,每次在区间l,r上贴一张海报,问说最后还能看到几张不同的海报。解题思路:线段树,区间更新,最后统计一下整段区间有多少种不同的海报。#include #include #include #include using namespace std;const int ma

2014-09-26 21:15:52 752

原创 poj 3225 Help with Intervals(线段树)

题目链接:poj 3225 Help with Intervals题目大意:模拟集合操作,输出最终的集合。解题思路:线段树。U l r:[l,r]区间置为1I l r:[0,l),(r,maxn]置为0D l r:[l,r]区间置为0C l r:[0,l),(r,maxn]置为0,[l,r]区间取逆S l r:[l,r]区间取逆。然后基本水水的线段树,注意一下区间开

2014-09-26 21:10:15 1218

原创 poj 2991 Crane(线段树)

题目链接:poj 2991 Crane题目大意:就是有一个机械手臂,有n结,给定每节的长度,一开始为垂直的。有m次操作,每次将x关节变成角度d,并且输出手臂末端的坐标。解题思路:点的旋转公式(r为逆时针的角度):x′=x∗cos(r)−y∗sin(r)y′=x∗sin(r)+y∗cos(r)没有做过类似的题目,线段树每个节点记录的为每节旋转的角度以及单节末端的位置。

2014-09-26 21:01:28 1078

原创 poj 1436 Horizontally Visible Segments(线段树)

题目链接:poj 1436 Horizontally Visible Segments题目大意:给定n条垂直的线段,保证两两线段不重叠。问说有多少组三元线段可以互相看到。解题思路:线段树+暴力。表示很不能理解的题目,复杂度略高。先将线段按照x坐标排序,然后为每个线段标号,从左向右每次修改区间。在修改之前查找一下该区间没有被完全覆盖的线段,用vector存小来,最后再暴力计数。#

2014-09-26 20:52:14 624

原创 hdu 5030 Rabbit's String(后缀数组)

题目链接:hdu 5030 Rabbit's String题目大意:给定k和一个字符串,要求将字符串拆分成k个子串。然后将每个子串中字典序最大的子串选出来,组成一个包含k个字符串的集合,要求这个集合中字典序最大的字符串字典序最小。解题思路:网赛的时候试图搞了一下这道题,不过水平还是有限啊,后缀数组也是初学,只会切一些水题。赛后看了一下别人的题解,把这题补上了。首先对整个字符串做

2014-09-26 20:44:36 1510

原创 【索引】Codeforces Round #267 (Div. 2)

Problem B: Chat Online(469B)Problem C:24 Game(468A)Problem D: Two Sets(468B)Problem E:Hack it!(468C)

2014-09-26 20:30:58 726

原创 Codeforces 467E Alex and Complicated Task(高效)

题目链接:Codeforces 467E Alex and Complicated Task题目大意:给定一个长度为n序列,然后从中挑选尽量多的4元组(不能重叠)。解题思路:每次找的四元组的左端肯定是要尽量小的。所以用一个单调栈维护,如果新加入的数x在栈中出现过,那么就将两个数之间的数标记为在x。如果一个数的标记不为空,就意味着找到对应的四元组。有因为序列是从左遍历过去的,所以找到

2014-09-26 20:25:54 1898 1

原创 Codeforces 467D Fedor and Essay(bfs)

题目链接:Codeforces 467D Fedor and Essay题目大意:给定一个含n个单词的文本,然后给定m种变换,要求变换后r的个数尽量少,长度尽量短,不区分大小写。解题思路:bfs,将每个单词处理成长度以及r的个数,然后从最优的开始更新即可,类似dp。#include #include #include #include #include #includ

2014-09-26 20:18:55 1386

原创 Codeforces 467C George and Job(dp)

题目链接:Codeforces 467 George and Job题目大意:给定一个长度为n的序列,从序列中选出k个不重叠且连续的m个数,要求和最大。解题思路:dp[i][j]表示到第i个位置选了j个子序列。#include #include #include using namespace std;typedef long long ll;const int

2014-09-26 20:14:23 1723

原创 Codeforces 467B Fedor and New Game(暴力)

题目链接:Codeforces 467B Fedor and New Game题目大意:给定n,m,k,n种士兵,m个部队,兵种不同数量小于等于k的为友军。然后给出m+1行,前m行表示需要判定的部队,第m+1行Fedor的部队。(按照二进制形式给定)解题思路:直接取亦或,然后判断1的个数是否小于等于k。#include #include #include using n

2014-09-26 20:12:39 1700

原创 Codeforces 467A George and Accommodation(水题)

题目链接:Codeforces 467A George and Accommodation题目大意:给定n个房间的情况,pi表示已经住了pi个人,qi表示房间最多能住的人数。计算有多少个房间还能再住两个人。解题思路:水。。#include #include #include using namespace std;int main () { int n, c

2014-09-26 20:07:20 1017

原创 【索引】Codeforces Round #268 (Div. 2)

Problem B: Wonder Room(466B)Problem C:Number of Ways(466C)Problem D: Increase Sequence(466D)Problem E:Information Graph(466E)

2014-09-25 13:26:16 662

原创 Codeforces 468B Two Sets(二分图匹配)

题目链接:Codeforces 468B Two Sets题目大意:给出n个数,要求将n个数分配到两个集合中,集合0中的元素x,要求A-x也再0中,同理1集合。解题思路:类似二分图匹配的方法。#include #include #include #include #include using namespace std;const int maxn = 1e5

2014-09-25 10:31:11 2001

原创 Codeforces 468C Hack it!(数学)

题目链接:Codeforces 468C Hack it!题目大意:给据题目定义,找到l,r,使得solve(l,r) % a = 0.解题思路:f(x + 1e18) = f(x) + 1,所以有solve(x + 1, x+1e18) = solve(x, x+1e18-1) + 1,假定x为0,我们求出solve(0, 1e18) % a = k,那么a - k,即为区间需要

2014-09-25 10:30:31 2526 5

原创 Codeforces 468A 24 Game(构造)

题目链接:Codeforces 468A 24 Game题目大意:给出n,表示有1~n这n个数,判断能否进n-1次操作获得24.解题思路:4,5的情况可以手动处理出来,然后对于大于4,5的情况可以通过两两相减,形成若干个1.#include #include #include using namespace std;int main () { int n;

2014-09-24 20:39:30 1636

原创 Codeforces 469B Chat Online(水题)

题目链接:Codeforces 469B Chat Online题目大意:给出两个人登录的时间,然后A会在0-t的时间内登录,问说有哪些时刻登录可以让两个人聊天。解题思路:枚举一下就可以。#include #include #include #include using namespace std;const int maxn = 1005;int p, q,

2014-09-24 20:25:28 1209

原创 Codeforces 469A I Wanna Be the Guy(水题)

题目链接:Codeforces 469A I Wanna Be the Guy题目大意:两个人进行闯关游戏,给定A和B能通过的关卡,问说两人一起是否可以通过所有的关卡。解题思路:水题。#include #include #include using namespace std;const int maxn = 105;int main () { int n

2014-09-24 20:18:37 1441

原创 【索引】Codeforces Round #266 (Div. 2)

Problem B: Jzzhu and Sequences(450B)Problem C:Jzzhu and Chocolate(449A)Problem D: Jzzhu and Cities(449B)Problem E:Jzzhu and Apples(449C)

2014-09-24 16:06:45 856

原创 Codeforces 466E Information Graph(dfs+并查集)

题目链接:Codeforces 466E Information Graph题目大意:一开始有n个员工,他们互相独立。现在有三种操作。1 u v,v称为u的上级2 u,从u发起一份文件,逐层递交给上级3 u v,询问u是否查阅过v号文件。解题思路:将每个文件移动的范围处理出来,然后对于每次询问,将询问拆成两个标记,假设查询x是否浏览过第k号文件,第k号文件的范围为u-v,那

2014-09-24 16:04:46 1348

原创 Codeforces 466D Increase Sequence(dp+组合数学)

题目链接:Codeforces 466D Increase Sequence题目大意:给定一个序列,现在可以选中一段区间,使得整段区间上每个位置数加1,要求最后每个位置都为h,并且选中的区间不能有相同l或则r。解题思路:因为每个位置最多有一个起始和一个终止(区间)。ai和ai+1差的绝对值超过1,则肯定是不行的,ai+1−ai=1,那么一定要从i+1的位置新起一段区间ai+

2014-09-24 15:53:53 1857 1

原创 Codeforces 466C Number of Ways(高效)

题目链接:Codeforces 466C Number of Ways题目大意:给定一个序列,要求分成三段,每段和相同,问有多少种拆分方法。解题思路:将所有前缀和为sum3的位置全部记录下来,然后在逐个计算后缀和,然后对应如果和为sum3,计算该位置前有多少个前缀和sum3。#include #include #include #include using names

2014-09-24 15:46:19 1432

原创 Codeforces 466B Wonder Room(暴力)

题目链接:Codeforces 466B Wonder Room题目大意:给定n,a,b,要求找到ai,bi,(ai≥a, bi≥b)并且ai∗bi≥6∗n,并且ai∗bi要尽量小。解题思路:枚举ai,根据6n算出需要的bi,注意ai只需要枚举到6n‾‾‾√#include #include #include using namespace st

2014-09-24 15:42:18 1169 1

原创 Codeforces 466A Cheap Travel(水题)

题目链接:Codeforces 466A Cheap Travel题目大意:坐n次地铁,m张票卖b元,单张a元,问最小花费。解题思路:水题。#include #include #include using namespace std;int main () { int n, m, a, b; scanf("%d%d%d%d", &n, &m, &a,

2014-09-24 15:37:18 1122

原创 【索引】Codeforces Round #257 (Div. 2)

Problem B: Little Dima and Equation(460B)Problem C:Present(460C)Problem D: Little Victor and Set(460D)Problem E:Roland and Rose(460E)

2014-09-24 15:33:02 566

原创 Codeforces 449C Jzzhu and Apples(构造)

题目链接:Codeforces 449C Jzzhu and Apples题目大意:Jzzhu从苹果树上获得n个苹果,标号从1~n,现在要将他们以两个为一组卖给商家,要求一组中的两个苹果的编号最大公约数大于1,分的组数尽量多。解题思路:枚举公约数d,只枚举素数,因为合数的可以在更小的素数被枚举。将所有没用过并且编号为d的倍数的苹果拿出来,两两组队,如果个数为奇数,那么就将2d留出来

2014-09-24 15:29:00 1427

原创 Codeforces 449B Jzzhu and Cities(最短路)

题目链接:Codeforces 449B Jzzhu and Cities题目大意:Jzzhu是一个国家的总统,这个国家有N座城市,以1为首都,已经存在了M条公路,给定M条路。并且还有K条铁轨,铁轨均有首都出发,连接si,距离为yi。现在Jzzhu想要节省经费,拆除一些铁轨,问说最多能拆除多少个铁轨,要求每座城市与首都的最短距离不变。解题思路:最短路,多加一个标记数组,每个si标记

2014-09-24 15:23:05 1955

原创 Codeforces 449A Jzzhu and Chocolate(贪心)

题目链接:Codeforces 449A Jzzhu and Chocolate题目大意:给定一个n∗m的巧克力,问说切k刀之后,使得说最小的一份面积最大。解题思路:贪心,尽量切一个方向,比较一下两种的最优解。#include #include #include using namespace std;typedef long long ll;ll n, m, k;

2014-09-24 15:16:39 1141

原创 Codeforces 450B Jzzhu and Sequences(矩阵快速幂)

题目链接:Codeforces 450B Jzzhu and Sequences题目大意:给定序列f1=x,f2=y,fi=fi+1−fi−1,求fn解题思路:矩阵快速幂。#include #include #include using namespace std;typedef long long ll;const ll mod = 1e9+7;ll s[

2014-09-24 15:13:30 1435

原创 Codeforces 450A Jzzhu and Children(水题)

题目链接:Codeforces 450A Jzzhu and Children题目大意:有n个小孩,每个小孩要ai个糖果,现在他们排成一队,逐个领取糖果,你每次只会发m个糖果,没有获得足够糖果的小孩会重新到队尾排队,问说谁最后走。解题思路:水题,直接计算出每个小孩需要领取的次数,取最大的那个,有相同的取位置靠后的。#include #include #include u

2014-09-24 15:09:49 826

原创 hdu 5025 Saving Tang Monk(bfs)

题目连接:hdu 5025 Saving Tang Monk题目大意:给定一张图,K表示孙悟空的位置,T表示师傅的位置,S表示蛇精,悟空要救师傅的话,需要M把钥匙,走到蛇精的位置需要用3秒的时间把蛇干掉。解题思路:bfs,因为蛇只有5只,所以dp[x][y][k][s]表示移动到x,y,收集k把钥匙,已经打死了s的蛇(二进制)#include #include #inclu

2014-09-22 14:39:19 649

原创 hdu 5024 Wang Xifeng's Little Plot(递推)

题目链接: hdu 5024 Wang Xifeng's Little Plot题目大意:给定一张图,可以从任意点出发,朝直线移动(可以是斜线),只能拐一次90度弯,问说最远能移动多少步。解题思路:对于每个位置,处理处8个方向上最远移动距离。#include #include #include using namespace std;const int maxn =

2014-09-22 14:31:29 634

原创 hdu 5023 A Corrupt Mayor's Performance Art(线段树)

题目链接:hdu 5023 A Corrupt Mayor's Performance Art题目大意:给定一段区间,初始颜色为2,接诊有N次操作,P:将区间l,r涂成c,Q:查询l,r之间有哪些颜色按字典序输出。解题思路:因为颜色的种数只有30,对于每个节点之间用一个二进制数记录即可,水水的线段树。#include #include #include #include

2014-09-22 14:20:43 525

原创 hdu 5040 Instrusive(BFS)

题目大意:hdu 5040 Instrusive题目大意:给定一张图,Matt要从M移动到T取偷东西,N,W,S,E表示这些位置有监控器,字母表示这些监控器的初始方向,并且每一秒顺时针旋转90度。现在Matt每移动一格需要花一秒,但是如果当前他所在的位置或者他要去的位置被监控器监视,那么如果他要移动,就必须躲在箱子里移动,时间需要花费3秒。或者也可以选择不移动,躲在箱子里1秒,问说Matt

2014-09-22 14:12:57 1013

原创 hdu 5038 Grade(水题)

题目链接:hdu 5038 Grade题目大意:给出n个蘑菇的重量,根据重量计算出蘑菇的分数,按照大小输出分数最多的分数。如果分数包含了所有的蘑菇,除非只有一种分数,否则输出Bad Mushroom.解题思路:水题,就题意很绕。#include #include #include #include #include using namespace std;//co

2014-09-22 14:04:56 697

原创 hdu 5037 Frog(高效)

题目链接:hdu 5037 Frog题目大意:给定N,M,L,表示有一只条宽为M的河,青蛙要从0跳到M,青蛙的最大跳跃能力为L,现在已经存在了N块石头,现在要放任意数量的石头,使得说青蛙需要用最多的步数跳到M。解题思路:维护两个指针,pos表示青蛙当前的位置,mv表示青蛙在前一个位置能跳到的最远位置。然后周期L+1的长度可以让青蛙需要跳两次。但注意每一段长度的最后一个周期需要特判,

2014-09-22 13:59:53 1147

空空如也

空空如也

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

TA关注的人

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