自定义博客皮肤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

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

原创 hdu 4986 Little Pony and Alohomora Part I(递推)

题目链接:hdu 4986 Little Pony and Alohomora Part I题目大意:给定若干个箱子,每个箱子中装着一把钥匙,问最少要敲开多少个箱子才能打开所有箱子。解题思路:需要敲开的次数即为整个序列循环的个数,知道这点就很容易得到f(i)=f(i−1)+1i,然后对于n小的情况,用递推即可,对于n大的情况,用log函数近似处理。#include #incl

2014-08-31 22:01:18 1014

原创 hdu 4985 Little Pony and Permutation(置换)

题目链接:hdu 4985 Little Pony and Permutation题目大意:给定一个置换,将置换分解成若干个循环。解题思路:枚举起点,逐个移动即可。#include #include #include using namespace std;const int maxn = 1e5+5;int N, f[maxn], v[maxn];int m

2014-08-31 21:56:48 669

原创 zoj 3806 Incircle and Circumcircle(二分)

题目链接:zoj 3806 Incircle and Circumcircle题目大意:给定三角形的内接圆半径和外切圆半径,求三角形的三边长。解题思路:以等腰三角形去构造,确定外切圆半径的时候,内切圆半径的范围为0−3‾‾√R,二分判断即可。#include #include #include #include using namespace std;double

2014-08-31 21:56:09 902

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

Problem B: Caisa and Pylons(463B)Problem C:Gargari and Bishops(463C)Problem D: Gargari and Permutations(463D)Problem E: Caisa and Tree(463E)

2014-08-31 16:06:10 821

原创 Codeforces 460E Roland and Rose(暴力)

题目链接:Codeforces 460E Roland and Rose题目大意:在以原点为圆心,半径为R的局域内选择N个整数点,使得N个点中两两距离的平方和最大。解题思路:R最大为30,那么其实距离圆心距离最大的整数点不过12个最多,直接暴力枚举。#include #include #include #include using namespace std;st

2014-08-31 15:59:48 2088

原创 Codeforces 460B Little Dima and Equation(暴力)

题目链接:Codeforces 460B Little Dima and Equation题目大意:给定a,b,c,求有多少x满足公式x=b∗s(x)a+c(s(x)为x的各个位数的累加和)解题思路:枚举,因为x很大,所以直接枚举s(x)。#include #include #include #include using namespace std;typedef

2014-08-31 15:55:02 1168

原创 Codeforces 460A Vasya and Socks(水题)

题目链接:Codeforces 460A Vasya and Socks题目大意:Aasya有n双新袜子,他妈每m天给他买一双新袜子,问不洗袜子的话能连续多少天有袜子穿。解题思路:水题,注意取整后的余数。#include #include #include using namespace std;int main () { int n, k; sca

2014-08-31 15:49:31 1375

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

Problem B: Pashmak and Flowers(459B)Problem C:Pashmak and Buses(459C)Problem D: Pashmak and Parmida's problem(459D)Problem E: Pashmak and Graph(459E)

2014-08-31 12:08:38 884

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

Problem B: Pashmak and Flowers(459B)Problem C:Pashmak and Buses(459C)Problem D: Pashmak and Parmida's problem(459D)Problem E: Pashmak and Graph(459E)

2014-08-31 12:01:50 672

原创 Codeforces 461C Appleman and a Sheet of Paper(模拟)

题目链接:Codeforces 461C Appleman and a Sheet of Paper题目大意:就是一个叠被子的过程,穿插着询问一段区间上被子的单位厚度。解题思路:用前缀和数组模拟即可。因为对于折超过一半的处理为将令一半叠上来,所以需要变量记录当前被子的正反状态。处理好下标关系即可。#include #include #include using name

2014-08-31 11:52:24 1469

原创 Codeforces 461B Appleman and Tree(树形dp)

题目链接:Codeforces 461B Appleman and Tree题目大意:一棵树,以0节点为根节点,给定每个节点的父亲节点,以及每个点的颜色(0表示白色,1表示黑色),切断这棵树的k条边,使得树变成k+1个联通分量,保证每个联通分量有且仅有1个黑色节点。问有多少种分割方法。解题思路:树形dp,dp[i][0]和dp[i][1]分别表示子树一下的分割方法中,i节点所在联通

2014-08-31 11:49:16 1901

原创 Codeforces 461A Appleman and Toastman(贪心)

题目链接:Codeforces 461A Appleman and Toastman题目大意:给定一个集合,每次由A将集合交个B,然后B计算集合中元素的总和,加到得分中,将集合还给A,然后A将集合随机分成两个集合,然后逐个给B,B进行相同的操作,直到集合中元素个数为1时,A不拆分集合,而是直接舍弃。问说最大得分。解题思路:贪心,每次从集合中剔除值最小的即可。#include

2014-08-31 11:39:51 1958

原创 Codeforces 462B Appleman and Card Game(贪心)

Codeforces 462B Appleman and Card Game题目大意:有N张牌,从中选择K张,如果对于一张选中的牌来说,得分加上选出牌中面值与该牌相同的牌的数量。求最大得分。解题思路:贪心。从牌数多的面值开始选。#include #include #include using namespace std;const int maxn = 1e5+5;

2014-08-31 11:32:53 1139

原创 Codeforces 462A Appleman and Easy Task(水题)

题目链接:Codeforces 462A Appleman and Easy Task题目大意:给定一个图,判断每个位置的周围存在的'o'是否为偶数个。解题思路:水题,遍历一遍即可。#include #include #include using namespace std;const int maxn = 105;const int dir[4][2] = {{

2014-08-31 11:24:25 1396

原创 Codeforces 463E Caisa and Tree(暴力)

题目链接:Codeforces 463E Caisa and Tree题目大意:给定一棵树,进行Q次操作。解题思路:暴力出奇迹,貌似树的深度不会很大,所以直接暴力都可以过。#include #include #include #include using namespace std;const int maxn = 1e5+5;int N, Q, val[max

2014-08-30 21:40:56 1068 5

原创 Codeforces 463D Gargari and Permutations(BFS)

题目链接:Codeforces 463D Gargari and Permutations题目大意:求k个序列的最长公共子序列。解题思路:以每个数为节点,假如a和b,如果a在每个序列中的位置都在b前面的话,可以在a和b建立一条有向边,然后用BFS处理下。#include #include #include #include using namespace std;c

2014-08-30 21:34:30 1279

原创 Codeforces 463C Gargari and Bishops(贪心)

题目链接:Codeforces 463C Gargari and Bishops题目大意:在一个n∗n的国际象棋的棋盘上放两个主教,要求不能有位置同时被两个主教攻击到,然后被一个主教攻击到的位置上获得得分。求得分的最大值。解题思路:黑白格分开考虑最大值,注意全0的时候。#include #include #include using namespace std;#d

2014-08-30 21:30:08 991

原创 Codeforces 463B Caisa and Pylons(水题)

题目链接:Codeforces 463E Caisa and Pylons题目大意:给定n个位置的高度,0的位置为0,每次移动一步时,需要消耗hi−hi+1的能量,一开始能量为0,过程中能量不能为负,一美元可以买一点能量,问说最小开销。解题思路:水题,找最大值即可。#include #include #include using namespace std;int

2014-08-30 21:23:28 990

原创 Codeforces 463A Caisa and Sugar(水题)

题目链接:Codeforces 463E Caisa and Sugar题目大意:Caisa去超市买东西,有s美元,一美元等于100每分,现在给定n种商品的价格x美元y美分,超市找零是用糖果替代美分,一美分一颗糖果,Caisa想要尽量多的糖果。解题思路:水题,遍历一遍即可,注意判断x=s的时候。#include #include #include using names

2014-08-30 21:18:51 1313

原创 uva 11488 - Hyper Prefix Sets(字典树)

题目链接:uva 11488 - Hyper Prefix Sets题目大意:给出若干个由01组成的字符串,求一个前缀串,长度为k,出现在n个字符串中,输出最大的k*n解题思路:建立字典树,对应在节点上记录次数即可。维护最大值。#include #include #include #include using namespace std;const int maxn

2014-08-28 21:44:43 995

原创 uva 11019 - Matrix Matcher(AC自动机)

题目链接:uva 11019 - Matrix Matcher题目大意:给出一个n∗m的字符矩阵T,要求找出给定r∗c的字符矩阵P在T中出现的次数。解题思路:对P矩阵中的每一行做一个字符串,形成一个字符串集合。构建AC自动机,然后对T矩阵中的每一行进行一次查找,对应出现在该字符串中的子串对应位置+1,如果有一个位置上r次匹配,那么就存在一个匹配矩阵。#include #inc

2014-08-28 21:41:14 1545

原创 uva 11468 - Substring(AC自动机+概率)

题目链接:uva 11468 - Substring题目大意:给出一些字符和各自字符对应的选择概率,随机选择L次后得到一个长度为L的字符串,要求该字符串不包含任意一个子串的概率。解题思路:构造AC自动机之后,每随机生成一个字母,等于是在AC自动机上走一步,所有子串的结束位置的节点标记为禁止通行,然后问题转换成记忆搜索处理。#include #include #include

2014-08-28 21:29:25 1076

原创 uva 1449 - Dominating Patterns(AC自动机)

题目练级:uva 1449 - Dominating Patterns题目大意:有一个由小写字母组成的字符串集和一个文本T,要求找出那些字符串在文本中出现的次数最多。解题思路:将字符串集建立AC自动机,然后传入T进行匹配,对每个匹配上的字符串多应次数加1,最后找出最大值。出现次数与最大值相同的字符串输出。注意字符集中出现相同字符的情况。#include #include #

2014-08-28 21:19:29 1109

原创 uva 11732 - strcmp() Anyone?(字典树)

题目链接:uva 11732 - strcmp() Anyone?题目大意:给定n个串,然后两两之间比较,问说总共要比较多少次。解题思路:字典树,建立出字典树,然后根据字典树的性质在节点记录有多少个字符串包含该节点。因为节点的个数比较多,所以用左孩子右兄弟的方法建立字典树。#include #include #include using namespace std;t

2014-08-28 21:14:14 1064

原创 uva 1401 - Remember the Word(字典树+dp)

题目链接:uva 1401 - Remember the Word题目大意:给出一个由S个不同单词组成的字典和一个长字符串。吧这个字符串分解成若干个单词的连接,有多少种方法。解题思路:dp(i) = sum{ dp(i+len(x))}, 单词x为S[i...L]的前缀。#include #include #include using namespace std;c

2014-08-28 21:07:41 828

原创 【索引】Maintaining Interval Data::Exercises: Intermediate

AOAPC I: Beginning Algorithm Contests -- Training Guide (Rujia Liu)Chapter 3. Data Structures::Maintaining Interval Data::

2014-08-28 10:27:18 778

原创 uva 1455 - Kingdom(并查集+线段树)

题目链接:uva 1455 - Kingdom题目大意:平面上又n个城市,初始时城市之间没有任何双向道路相连,要求一次执行指令。road A B :在城市A和城市B之间连接一条双向道路line C:询问一条y=C的水平线上穿过多少州和这些州总共有多少城市。一个联通分量算一个州,C保证为小数部分为0.5的实数。解题思路:线段树维护每个位置上州和城市的个数,并查集维护哪些城

2014-08-28 00:16:06 1417

原创 uva 1493 - Draw a Mess(并查集)

题目链接:uva 1493 - Draw a Mess题目大意:给定一个矩形范围,有四种上色方式,后面上色回将前面的颜色覆盖,最后问9种颜色各占多少的区域。解题思路:用并查集维护每个位置对应下一个可以上色的位置。然后将上色倒转过来处理,就解决了颜色覆盖的问题。#include #include #include #include #include using nam

2014-08-28 00:13:11 1518

原创 uva 1492 - Adding New Machine(线段树)

题目链接:uva 1492 - Adding New Machine题目大意:在一个R∗C矩阵上有N台旧的机器,给定每个机器的占地,现在要添加一台1∗M的机器,问有多少种摆放方法。解题思路:问题可以转化成矩形覆盖问题,对于每台旧的机器,假设考虑对应每个位置向右放,那么左边的M-1个位置是不能放的,以及右边界左边的M-1个位置。用线段树解决矩形覆盖,x,y坐标分别处理一次。注意M=1

2014-08-27 17:21:54 1203

原创 uva 1406 - A Sequence of Numbers(树状数组)

题目链接:uva 1406 - A Sequence of Numbers题目大意;给定n个数,有两种操作:Q x:计算与2x取且不为0的数的个数C x:每个数加上x输出所有Q操作的和。解题思路:因为x最大为15,所以开16个树状数组,fenx[x]记录的是每个数取模2x+1的情况,然后有一个add值标记总共加了多少。根据add值确定原先数的范围。#include

2014-08-27 17:16:05 1247

原创 uva 10869 - Brownie Points II(树状数组)

题目链接:uva 10869 - Brownie Points II题目大意:给定若干点,第一个人选中一个存在点的横坐标,第二个人选中该横坐标上的一点,以该点作原点建立坐标系,一、三象限的点属于第一个人,二、四象限属于第二个人,坐标轴上的不属于任何人。问说在第一个人获得点最多的情况下第二个人可能获得多少点。解题思路:将所有点按照x坐标从小到大,y坐标从大到小排序,这样从左向右可以处

2014-08-27 17:11:40 1113

原创 uva 11423 - Cache Simulator(树状数组)

题目链接:uva 11423 - Cache Simulator题目大意;模拟一个cache,4种操作:ADDR x:访问一个x地址RANGE x y n:访问x + y * k (0≤kSTAT:输出每个大小的cache,MISS的次数END:结束按照从小到大的顺序给cache的大小。解题思路:因为访问的次数不会大于1e7次,所以预先处理出访问的序列,然后对于每个

2014-08-27 17:04:45 1441

原创 uva 11898 - Killer Problem(暴力)

题目链接:uva 11898 - Killer Problem题目大意:给定一个序列,每次询问l到r之间两个数差的绝对值的最小值。解题思路:因为数字的最大值为104,所以l~r区间长度大于104的直接就是0了,否则用计数方法直接暴力去搞。#include #include #include using namespace std;const int maxc = 1e

2014-08-27 16:50:00 1183

原创 uva 11983 - Weird Advertisement(线段树)

题目链接:uva 11983 - Weird Advertisement题目大意:给定n个矩形,问说有多少区域的面积被覆盖k次以上。解题思路:将每个矩形差分成两条线段,一段为添加覆盖值1,一段为减少覆盖值1,同时记录两段的高度(横坐标)。然后对纵坐标离散化建立线段树,然后对线段按照高度排序,维护整段区间中覆盖度大于K的长度,乘上高度上的范围即可。#include #inclu

2014-08-27 16:45:43 1138

原创 【索引】Maintaining Interval Data::Exercises: Beginner

AOAPC I: Beginning Algorithm Contests -- Training Guide (Rujia Liu)Chapter 3. Data Structures::Maintaining Interval Data::Examples

2014-08-25 14:40:12 866

原创 【索引】Maintaining Interval Data :: Examples

AOAPC I: Beginning Algorithm Contests -- Training Guide (Rujia Liu)Chapter 3. Data Structures::Maintaining Interval Data

2014-08-25 14:34:45 762

原创 【索引】Maintaining Interval Data

AOAPC I: Beginning Algorithm Contests -- Training Guide (Rujia Liu)Chapter 3. Data Structures::Maintaining Interval DataExamplesExamples:BeginnerExamples:IntermediateExamples:Advanced

2014-08-25 14:32:20 928

原创 uva 11402 - Ahoy, Pirates!(线段树)

题目链接:uva 11402 - Ahoy, Pirates!题目大意:给定给一个字符串,字符串的给定方式为各个循坏单位的循环次数和循环单位,然后是Q次操作。F:将l~r之间的数变成1E:将l~r之间的束变成0I:将l~r之间的数0变1,1变0Q:查询l~r之间1的个数解题思路:线段树,注意pushdown函数中I操作不属于覆盖操作,要与子节点中的懒惰标记判断关系处理。

2014-08-25 14:28:52 1101

原创 uva 11525 - Permutation(线段树)

题目链接:uva 11525 - Permutation题目大意:给定n和k,n给定的方式为k个si,根据公式计算出n,求一个由1~k组成的长度为k的序列的第n个排序解题思路:根据公式的性质,等于对于每个位置找当前状态下第si小的数。线段树子节点均为1,维护和,查询时传入参数查找即可。#include #include #include using namespace

2014-08-25 14:23:13 1290

原创 uva 1232 - SKYLINE(线段树)

题目链接:uva 1232 - SKYLINE题目大意:就是n次修改维护最大值,如果一个位置的最大值被修改了,覆盖值就+1,问说总的覆盖值。解题思路:线段树的区间修改,每次修改后返回修改到的区间长度即可。#include #include #include using namespace std;const int maxn = 100000;#define lso

2014-08-25 14:18:50 1675

空空如也

空空如也

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

TA关注的人

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