- 博客(558)
- 资源 (23)
- 收藏
- 关注
原创 SPOJ GSS3 Can you answer these queries III(线段树)
Can you answer these queries IIIDescriptionYou are given a sequence A of N (N modify the i-th element in the sequence or for given x y print max{Ai + Ai+1 + .. + Aj | xInputThe first
2016-03-27 12:43:29 371
原创 LightOj 1047 Neighbor House(基础dp)
Neighbor HouseDescriptionThe people of Mohammadpur have decided to paint each of their houses red, green, or blue. They've also decided that no two neighboring houses will be painted the sam
2016-03-27 12:35:32 362
原创 HYSBZ 1090 字符串折叠(区间dp)
字符串折叠Description折叠的定义如下: 1. 一个字符串可以看成它自身的折叠。记作S S 2. X(S)是X(X>1)个S连接在一起的串的折叠。记作X(S) SSSS…S(X个S)。 3. 如果A A’, BB’,则AB A’B’ 例如,因为3(A) = AAA, 2(B) = BB,所以3(A)C2(B) AAACBB,而2(3(A)C
2016-03-27 12:27:49 343
原创 LightOj 1122 Digit Count(数位dp)
Digit CountDescriptionGiven a set of digits S, and an integer n, you have to find how many n-digit integers are there, which contain digits that belong to S and the difference between any
2016-03-27 12:23:14 459
原创 FZU 1055 赋值问题(细节决定成败)
赋值问题Description在很多程序设计语言中,忘记给变量赋初值的错误常令人头疼。请编程求出含N(0≤N≤100)行的程序段运行以后有哪些变量中有确定的值。 在下面的问题中,最开始仅有变量a中有确定的值。变量为单个小写字母,每行恰好有三个字符,中间一个是赋值运算符'='。Input输入有多组数据,每组数据的第一行有一个整数N,表示程序段的行数
2016-03-27 12:08:06 900
原创 Vim 快捷键整理(ACM版)
一、Vim配置配置方法是输入 vim ~/.vimrc (这样是用vim编辑配置文件,或者用 gedit ~/.vimrc 就是用gedit编辑了)配置的话,按照自己习惯加几句配置文件就可以使用了。syntax onset nuset tabstop=4set shiftwidth=4colo eveningset mouse=aset cin然后配置以
2016-03-25 09:40:47 488
原创 POJ 2452 Sticks Problem(RMQ+二分)
Sticks Problem题目链接:http://poj.org/problem?id=2452解题思路:题目大意:给你一组数a[n],求满足a[i] 算法思想:RMQ + 二分。 枚举i,利用二分求出a[i]右边第一个小于a[i]的数的位置k, 再求出[i, k]中最大值的位置j,若a[j] > a[i],则更新结果。 AC代码:#inclu
2016-03-24 22:44:05 372
原创 hdu 1839 Delay Constrained Maximum Capacity Path(最短路+二分)
Delay Constrained Maximum Capacity Path题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1839解题思路:题目大意:有n个点,点1为珍贵矿物的采矿区, 点n为加工厂,有m条双向连通的边连接这些点。走每条边的运输容量为C,运送时间为D。他们要选择一条从1到n的路径运输, 这条路径的运输总时
2016-03-24 22:36:26 298
原创 hdu 2066 一个人的旅行(最短路+SPFA)
一个人的旅行题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2066解题思路:很裸的一道最短路问题,可以将草儿的家看做0,从草儿家到相邻镇的花费看做0,那么我们就只需要求草儿家到各个目的地的最短路即可,一次SPFA便可解决。AC代码:#include #include #include #include #inc
2016-03-24 22:29:16 315
原创 LightOj 1099 Not the Best(次短路)
Not the BestDescriptionRobin has moved to a small village and sometimes enjoys returning to visit one of his best friends. He does not want to get to his old home too quickly, because he lik
2016-03-24 22:23:45 617
原创 POJ 3345 Bribing FIPA(树形dp+背包)
Bribing FIPA题目链接:http://poj.org/problem?id=3345解题思路:题目大意:现在有n个村子,你想要用收买m个村子为你投票,其中收买第i个村子的代价是val[i]。但是有些村子存在从属关系,如果B从属于A国,则收买了A也意味着买通了B,而且这些关系是传递的。问你最小要付出的代价是多少?算法思想:树形DP+背包。很好的一道树形D
2016-03-24 21:14:34 465
原创 LightOj 1006 Hex-a-bonacci(矩阵快速幂)
Hex-a-bonacciDescriptionGiven a code (not optimized), and necessary inputs, you have to find the output of the code for the inputs. The code is as follows:int a, b, c, d, e, f;int fn( in
2016-03-24 11:08:01 415
原创 HYSBZ 1858(Scoi2010) 序列操作(线段树+区间合并)
序列操作Descriptionlxhgww最近收到了一个01序列,序列里面包含了n个数,这些数要么是0,要么是1,现在对于这个序列有五种变换操作和询问操作: 0 a b 把[a, b]区间内的所有数全变成0 1 a b 把[a, b]区间内的所有数全变成1 2 a b 把[a,b]区间内的所有数全部取反,也就是说把所有的0变成1,把所有的1变成0 3 a b 询问[a, b
2016-03-24 11:02:40 320
原创 HYSBZ 1798(Ahoi2009) Seq 维护序列seq(区间更新+加法乘法混合操作)
Seq 维护序列seqDescription老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成。 有长为N的数列,不妨设为a1,a2,…,aN 。有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2)把数列中的一段数全部加一个值; (3)询问数列中的一段数的和,由于答案可能很大,你只需输出这个数模P的值。Input第一行两个
2016-03-24 10:57:44 482
原创 HYSBZ 1012(JSOI 2008) 最大数maxnumber(线段树点更新)
最大数maxnumberDescription现在请求你维护一个数列,要求提供以下两种操作: 1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。 2、 插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得
2016-03-24 10:51:15 354
原创 hdu 3974 Assign the task(线段树+将树映射到区间)
Assign the task题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3974解题思路:题目大意:一家公司有n个人,编号1~n,每个人都有一个直属上司。 给你两种操作: 1:给x分配任务y,此时,x会将y也分配给他的下属,下属再分配给下属……也就是x下面的人都会放下原先的任务(如果有)而去做任务y。2:询
2016-03-23 20:49:39 732
原创 hdu 1540 Tunnel Warfare(线段树单点更新+区间合并)
Tunnel Warfare题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1540解题思路:D代表破坏村庄,R代表修复最后被破坏的那个村庄,Q代表询问包括x在内的最大连续区间是多少。用线段树来记录。然后用三个变量分别代表左边连续区间,右边连续区间和最大连续区间。AC代码:#include #include #i
2016-03-23 19:51:23 279
原创 LightOj 1064 Throwing Dice(概率dp)
Throwing DiceDescriptionn common cubic dice are thrown. What is the probability that the sum of all thrown dice is at least x?InputInput starts with an integer T (≤ 200), denotin
2016-03-22 20:44:44 324
原创 UVA 624 CD(01背包+记录路径)
CD题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=565解题思路:给你一个序列,让你从其中选出一些数,然后得到最接近题目所给的一个数,并需要输出所选的数。用二维数组保存所选择的数。AC代码:#include #
2016-03-22 20:38:21 544
原创 LightOj 1231 Coin Change (II)(完全背包)
Coin Change (II)DescriptionIn a strange shop there are n types of coins of value A1, A2 ... An. You have to find the number of ways you can make K using the coins. You can use any coin at
2016-03-22 20:32:07 526
原创 LightOj 1231 Coin Change (I)(部分背包)
Coin Change (I)DescriptionIn a strange shop there are n types of coins of value A1, A2 ... An. C1, C2, ... Cn denote the number of coins of value A1, A2 ... An respectively. You have to fi
2016-03-22 20:25:36 403
原创 hdu 1087 Super Jumping! Jumping! Jumping!(LIS)
Super Jumping! Jumping! Jumping!题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087解题思路:dp[i]表示以value[i]结尾的最大价值。则状态转移方程为dp[i]=max(dp[j]+value[i],value[i]) 其中(value[j](0AC代码:#include
2016-03-21 21:57:07 264
原创 hdu 1074 Doing Homework(状态压缩dp)
Doing Homework题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1074解题思路:题目大意:有n门课程作业,每门作业的截止时间为D,需要花费的时间为C,若作业不能按时完成,每超期1天扣1分。这n门作业按课程的字典序先后输入。问完成这n门作业至少要扣多少分,并输出扣分最少的做作业顺序。PS:达到扣分最少的方
2016-03-21 21:33:02 335
原创 hdu 1069 Monkey and Banana(基础dp)
Monkey and Banana题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1069解题思路:题目大意:让你把给定的长方体(不限)叠加在一起,叠加的条件是:上面一个长方体的长和宽都比下面长方体的长和宽短;求这些长方体能叠加的最高的高度.(其中(3,2,1)可以摆放成(3,1,2)、(2,1,3)等)。算法思想:
2016-03-21 20:26:48 577
原创 codeforces 55D Beautiful numbers(数位dp)
Beautiful numbers题目链接:http://codeforces.com/problemset/problem/55/D解题思路:题目大意:求区间[x , y]中beautiful number的个数,a positive integer number is beautiful if and only if it is divisible by each of
2016-03-19 13:29:29 434
原创 POJ 2486 Apple Tree(树形dp)
Apple Tree题目链接:http://poj.org/problem?id=2486解题思路:题目大意:给你一颗苹果树,n个结点(1-n),n-1条边,每个结点上有val个苹果,问你从结点1出发,走k步,最多能得到多少个苹果。算法思想:比较经典的一个树形dp。首先很容易就可以想到用dp[root][k]表示以root为根的子树中最多走k时所能获得的最多苹果
2016-03-19 11:19:03 422
原创 hdu 4003 Find Metal Mineral(树形dp+分组背包)
Find Metal Mineral题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4003解题思路:题目大意:给你一棵n个节点的树, 节点编号为1~n, 每条边都有一个花费值。有k个机器人从S点出发, 问让机器人遍历所有边,最少花费值多少?算法思想:根据题意可以知道,机器人是可以走回头路的。所以分析下可知,如果从根
2016-03-19 10:25:35 441
原创 hdu 1520 Anniversary party(树形dp)
Anniversary party题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1520解题思路:每个结点有两种状态,参加和不参加,用0表示不参加,1表示参加dp[i][1]表示第i个参与者参加了,dp[i][0]表示第i个参与者没有参加。u代表上司,v代表员工。则状态转移方程:dp[u][0] += max (dp[
2016-03-18 22:46:55 240
原创 hdu 1561 The more, The Better(树形dp)
The more, The Better题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1561解题思路:依赖背包 -> 树形dp 题意大意: 给你一个树形结构,问最多拿max个城堡,能获得的价值最大,拿下面时一定也要先拿上面的。 算法思想: 定义状态dp[i][j] : 当前i节点及其子树下最多选择j个城市的最大值
2016-03-17 22:38:33 351
原创 POJ 1287 Networking(最小生成树kruskal)
Networking题目链接:http://poj.org/problem?id=1287解题思路:题目大意:给你p个节点,和r条边,这r条边代表从u节点到v节点电缆的长度,现在要你将所有节点都连起来,并且使长度最小。最小生成树裸题。AC代码:#include #include #include using namespace std;cons
2016-03-17 11:49:14 310
原创 LightOj 1214 Large Division(大数除法)
Large DivisionInputInput starts with an integer T (≤ 525), denoting the number of test cases.Each case starts with a line containing two integers a (-10200 ≤ a ≤ 10200) and b (|b| > 0, b f
2016-03-17 11:34:25 341
原创 LightOj 1220 Mysterious Bacteria(数论)
Mysterious BacteriaDescriptionDr. Mob has just discovered a Deathly Bacteria. He named it RC-01. RC-01 has a very strange reproduction system. RC-01 lives exactly x days. Now RC-01 produces
2016-03-17 11:12:59 735
原创 LightOj 1234 Harmonic Number
Harmonic NumberDescriptionIn mathematics, the nth harmonic number is the sum of the reciprocals of the first n natural numbers:In this problem, you are given n, you have to find Hn.
2016-03-17 10:41:40 383
原创 LightOj 1336 Sigma Function(打表找规律)
Sigma FunctionDescriptionSigma function is an interesting function in Number Theory. It is denoted by the Greek letter Sigma (σ). This function actually denotes the sum of all divisors of a
2016-03-17 10:29:16 370
原创 hdu 1029 Ignatius and the Princess IV
Ignatius and the Princess IV题目链接:解题思路:AC代码:#include using namespace std;int main(){ int n; while(~scanf("%d",&n)){ int x,ans,cnt = 0; while(n--){
2016-03-16 22:39:44 263
原创 ubuntu下 CodeBlocks的使用各种技巧
CodeBlocks快捷键&&解决调试终端不能粘贴问题常用快捷键: ==日常编辑== • 按住Ctrl滚滚轮,代码的字体会随你心意变大变小。• 在编辑区按住右键可拖动代码,省去拉(尤其是横向)滚动条之麻烦;相关设置:Mouse Drag Scrolling。• Ctrl+D可复制当前行或选中块。• Ctrl+Shift+C注释掉当前行或选中块,Ctrl+Shif
2016-03-15 10:14:52 1223
原创 FZU 1686 神龙的难题(重复覆盖问题)
神龙的难题题目链接:http://acm.fzu.edu.cn/problem.php?pid=1686解题思路:把每一个怪物编号,然后枚举矩形左上角,扫描矩形内的怪物编号建图,行为矩形的左上角编号,列为怪物编号,模型转化为选取最少的矩形将列上的怪物覆盖,于是就转换为了DLX重复覆盖问题。AC代码:#include #include #include #i
2016-03-11 20:55:45 521
转载 DLX 精确覆盖 重复覆盖
DLX 精确覆盖 重复覆盖问题描述:给定一个n*m的矩阵,有些位置为1,有些位置为0。如果G[i][j]==1则说明i行可以覆盖j列。Problem:1)选定最少的行,使得每列有且仅有一个1.2)选定最少的行,使得每列至少一个1.DLX原理:这类属于NP问题的问题,可以使用搜索解决。但是普通的搜索必超时无疑。因此我们要设法加优化来加快速度。
2016-03-11 20:46:36 608
原创 hdu 2295 Radar(重复覆盖问题)
Radar题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2295解题思路:题目大意:有m个雷达,每个雷达的覆盖范围都为以r为半径的圆,给定他们的坐标,有n个城市,给定他们的坐标,求最小的r,使得每个城市都被雷达覆盖,限制条件为最多只有k个雷达工作。算法思想:二分答案, 然后使用重复覆盖的Dancing Links模
2016-03-11 19:45:20 623
程序员面试宝典 第5版
2018-09-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人