自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

w20810的专栏

人若无名,方可专心练剑

  • 博客(202)
  • 资源 (2)
  • 收藏
  • 关注

原创 NJUST1927 谁才是最强战舰!(anti-Nim博弈)

分析:①当全部为1时,且1的个数为偶数,则先手胜②当至少有一个数大于1: Ⅰ.只有一个数大于1。先手必胜,因为此时先手拿完第一把后,可以控制1的个数为奇数个。 Ⅱ.不止一个数大于1,且所有数的异或和不为0。先手必胜,因为先手拿完第一把后,可以控制异或和为0, 且保证至少有2个数大于1。然后先手一直保持异或和为0这个状态,直到拿完后剩下的全为1这一把不这么拿, 这一把完全可以控制拿完后有

2016-04-19 16:06:50 699

原创 NJUST1925 sequence(贪心+二分)

sequence Time Limit: 1000MS Memory Limit: 65536KB [显示标签] Description 将一个给定的数列,拆分成K个不降序列,每个数出现且只出现一次,且在各序列中各个数相对于原数列的相对顺序不变。如7 6 9 8 10可以拆成 7 9 10和6 8。求最小的K值。 Input 第一行输入一个整数

2016-04-18 20:28:34 534

原创 codeforces #343 E. Famil Door and Roads (最近公共祖先LCA+一点点概率)

题目:http://codeforces.com/contest/629/problem/E 题意:给定一棵n(n 分析: 这题认真分析的话,其实很简单。 首先定义gx[cur]表示以cur为祖先其后代节点到cur的路径的长度之和。 定义gxall[cur]表示树上所有点到cur的路径的长度之和。 sz[cur]表示以cur为根的子树的大小。 分两种情况讨论: ①当u和v不是另外一

2016-03-29 11:23:16 613

原创 codeforces #334 D. Babaei and Birthday Cake (线段树或者dp+二分)

题目:http://codeforces.com/contest/629/problem/D 题意:给定一个长度为n(n 分析: 定义dp[sum]表示和为sum,以dp[sum]结尾的最小体积。(类似最长上升子序列的做法) 我们发现sum越小,那么dp[sum]就越小,否则,dp[sum]不够优,就不满足定义。 所以dp[sum]数组是具有单调性的。 维护dp[sum]数组的话,用一

2016-03-24 20:22:40 460

原创 codeforces #343 C. Famil Door and Brackets (dp)

题目:http://codeforces.com/contest/629/problem/C 题意:给定长度为m的只包含括号的字符串s,你可以在这个字符串前面或者后面添加x个字符'('或‘)’使得字符串的长度为n,且括号匹配。求方案数。 分析: 先定义dp[i][j],表示在s前面添加i个字符,且左括号为j个的方案数。 再定义dp1[i][j],表示剩余长度为i,之前的串左括号比右括号多j

2016-03-24 20:01:42 483

原创 codeforces Round #344 A~E

A. Interview 题意:给定n(n 分析:暴力枚举区间就行了。 代码: #include using namespace std; typedef long long LL; typedef unsigned long long ULL; const LL INF = 1e9+7; const LL MINT = ~0u>>1; #define lson l,m,rt<<1

2016-03-19 14:40:00 566

原创 codeforces GoodBye2015 D.New Year and Ancient Prophecy (dp+lcp+树状数组)

题目:http://codeforces.com/contest/611/problem/D 题意: D. New Year and Ancient Prophecy time limit per test 2.5 seconds memory limit per test 512 megabytes input standard input

2016-03-12 15:50:29 591

转载 STL红黑树

参考博客:STL源码剖析-红黑树原理详解上                  STL源码剖析-红黑树原理详解下 一、红黑树概述      红黑树和我们以前学过的AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。不过自从红黑树出来后,AVL树就被放到了博物馆里,据说是红黑树有更好的效率,更高的统计性能。这一点在我们了解了红黑树的实现原理后

2016-03-05 15:58:55 965

原创 codeforces #337 E. Alphabet Permutations (线段树区间合并)

题目:http://codeforces.com/contest/610/problem/E 题意:给定一个长度为n(n20000条指令。 E. Alphabet Permutations time limit per test 1 second memory limit per test 512 megabytes input standard i

2016-02-29 19:42:43 778

原创 hdu1828 Picture (线段树+扫描线)(求周长并)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1828 题意:给定n(n Picture Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3826    Accepted Sub

2016-02-28 19:45:56 516

原创 poj 1151 Atlantis && codeforces #337 D. Vika and Segments (线段树+扫描线)(求面积并)

题目:http://poj.org/problem?id=1151  http://codeforces.com/contest/610/problem/D 题意:告诉n个矩形的顶点坐标,求面积并。 分析:几篇比较好的介绍线段树扫描线的博客: http://www.cnblogs.com/kane0526/archive/2013/02/26/2934214.html http://

2016-02-26 17:34:09 479

原创 codeforces #336 E. Marbles (字符串hash或者kmp匹配)

题目:http://codeforces.com/contest/608/problem/E 题意:有两个通道,在每个通道的起点分别放一个小球,然后问是否存在一系列指令使得两个小球最后都在终点。 若小球碰壁,则保持原来的位置不变。 分析:看的这篇博客,http://blog.youkuaiyun.com/snowy_smile/article/details/50402283 Hash代码: #in

2016-02-23 20:27:00 840

原创 codeforces #336 D. Zuma (区间dp)

题目:http://codeforces.com/contest/608/problem/D 题意:给定长度为n(n 分析: 定义dp[L][R]代表区间[L,R]的最少消除次数。 1.当L==R时:dp[L][R]=1; 2.当L   --2.a) 当s[L]单独删掉,dp[L][R]=1+dp[L+1][R];   --2.b) 当s[L]作为回文串的一部分删掉时,那么s[L]=

2016-02-22 21:17:02 454

原创 [NOI2005]维修数列 (Splay)

题目:bzoj1500 题意: Description Input 输入的第1 行包含两个数N 和M(M ≤20 000),N 表示初始时数列中数的个数,M表示要进行的操作数目。 第2行包含N个数字,描述初始时的数列。 以下M行,每行一条命令,格式参见问题描述中的表格。 任何时刻数列中最多含有500 000个数,数列中任何一个数字均在[-1 000, 1 000]

2016-01-24 00:51:13 567

原创 POJ3580 SuperMemo (Splay)

题目:http://poj.org/problem?id=3580 题意: SuperMemo Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 12596   Accepted: 3952 Case Time Limit: 2000MS

2016-01-19 23:58:21 502

原创 hdu1890 Robotic Sort(Splay)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1890 题意:将给定的数组排序,你可以用的操作是反转一段区间。输出你的操作。 Robotic Sort Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm

2016-01-17 23:18:37 555

原创 hdu3487 Play with Chain (Splay)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=3487 题意:给定一个长度为n(n 分析:Splay~ 对于操作1,是很直接的伸展树的操作。下面摘自kuangbin的文章: 3、伸展树区间操作 在实际应用中,伸展树的中序遍历即为我们维护的数列,这就引出一个问题,怎么在伸展树中表示某个区间?比如我们要提取区间[a,b],那么我们将a前

2016-01-10 20:04:03 430

原创 poj3468 A Simple Problem with Integers(Splay)

题目:http://poj.org/problem?id=3468 题意:区间修改,查询区间的和。 分析:线段树+懒惰标记的模版题。。。 现在改用Splay来写。 前面几个题插入的时候用Insert,就是按值的大小来插入的。 现在用元素在数组里面的位置进行插入,就是按位置的大小来插的。 一旦插入完成有序性就固定了。因为rotate操作里面并没有用到值的大小。 所以,中序遍历出来的

2016-01-09 15:42:43 383

原创 [NOI2004]郁闷的出纳员 (Splay)

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1503 题意: 1503: [NOI2004]郁闷的出纳员 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 8962  Solved: 3108 [Submit][Status][Discuss] Description

2016-01-07 20:01:16 471

原创 [HNOI2004]宠物收养所 (Splay)

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1208 题意: 1208: [HNOI2004]宠物收养所 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 6221  Solved: 2413 [Submit][Status][Discuss] Description

2016-01-07 13:50:17 511

原创 [HNOI2002]营业额统计 (Splay || Treap)

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1588 题意: 1588: [HNOI2002]营业额统计 Time Limit: 5 Sec  Memory Limit: 162 MB Submit: 11846  Solved: 4226 [Submit][Status][Discuss] Description

2016-01-07 13:43:47 427

原创 树套树-区间第k大(带修改)

题目:zoj2112 题意:求区间第k大的数,有修改操作。 分析:这题可以树套树搞。 从网上看了很多博客才理解。。。资料1  资料2 我看的是树状数组套线段树版的。还有线段树套平衡树版的。 首先用一棵主席树(见这篇文章)维护没有操作前的数据。 然后用树状数组维护修改。 树状数组的每一个节点是一棵线段树,而且树状数组的每个节点都有一个管辖域(树状数组的性质没变)。 每更新一次

2016-01-05 16:44:54 2367

原创 hdu4417 Super Mario (主席树+二分)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=4417 题意:求区间内不大于x的数有多少个。 分析:二分枚举答案,用主席树查询即可。复杂度q*log(n)*log(n)。 代码: #include #include #include using namespace std; typedef long long LL; typedef un

2016-01-05 13:05:20 464

原创 主席树-区间第k大值(不带修改)

题目:poj2104 && hdu2665 题意:求区间第K大的值。 分析:资料1  主席树包含n棵线段树,这n棵线段树的形状完全相同。而且树与树之间有很大的重叠。 线段树root[i]表示数组a中区间[1,i]的元素插进线段树时的版本。 那么再添加一个元素a[i+1]时,只需修改线段树上的从根节点开始向下走的一条路径。 那么对于线段树root[i+1],我们先“拷贝”线段树root[

2016-01-05 12:55:51 2056

原创 LA5031 Graph and Queries (Treap模版)

题目:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=20332 题意:给定无向图,有三种操作,①删除第i条边②查询节点x所在的连通分量节点中第K大的权值③改变节点x的权值。现在问你最终的查询结果的平均值。 分析:查询第k大的值,用线段树可以,但是这里显然有很多连通分量,用线段树的话内存不够。这题是lrj白书上面的一题。由

2015-12-31 20:57:07 609

原创 cf #308 E. Vanya and Brackets (暴力枚举)

题目:http://codeforces.com/contest/552/problem/E 题意:给你一个只有+和*的表达式,让你添加一对括号使得表达式的值最大。其中*号最多15个。 分析:明显先+后*算出的结果更大,所以,用*把表达式分开,然后枚举相连的情况就好了。 ps:回顾了一下stringstream的用法。 代码: #include using namespace std;

2015-12-27 17:41:05 486

原创 cf #308 D. Vanya and Triangles (几何)

题目:http://codeforces.com/contest/554/problem/D 题意:给你n个点的坐标,n 分析:简单的几何题。枚举所有直线,求出k和b,将k和b映射成hash值,存起来。然后枚举直线,求出所有不能做成三角形的情况,再用所有的可能情况减掉这些不可能的情况即可。 重点不在上面。在于精度问题。已经在代码里面标出来了。 代码: #include using na

2015-12-27 17:32:33 460

原创 CF #GoodBye 2014 A~E

题目:B. New Year Permutation (传递闭包+贪心) 题意:给定一个排列,然后告诉你哪两个位置可以交换,求交换后字典序最小的排列。 分析:首先优先小的数往前面移动,对于将当前要移动的数,找到移动它的最优终点,然后往前面移动就是了。移的话,首先求出图的传递闭包,每次找一个位置移动,并且由这个位置也可以到达最优终点。 代码: #include using namespac

2015-12-23 22:21:56 522

原创 cf #310 E. Case of Chocolate (upper_bound())

题目:http://codeforces.com/contest/556/problem/E 题意:一块只有左上角的巧克力,每次从对角线位置向左或者向上吃,并且只能连续地吃。有q吃查询,问每次能吃的长度。 E. Case of Chocolate time limit per test 3 seconds memory limit per te

2015-12-19 15:10:22 512

原创 cf #310 D. Case of Fugitive (二分)

题目:http://codeforces.com/contest/556/problem/D 题意:在一条水平线上有n条互不相交的线段,你有m个桥,每个桥的长度已知,桥能搭起来的条件是桥的两个端点分别在两个线段上。现在问你能不能将所有的线段连起来。 分析:对于相邻的两条线段[L1,R1]和[L2,R2],能连起来的条件是,存在一个长为x的桥,L2-R1 设相连两个线段的相连的满足区间为[dm

2015-12-19 14:55:40 706

原创 cf #312 E. A Simple Task (线段树+计数排序)

题目:http://codeforces.com/contest/558/problem/E 题意:给你一个字符串s,|s| 分析: 计数排序:先统计区间内每种字符的个数,然后按顺序将字符分配。 例如bccasabdass a有3个 b有2个 c有2个 d有1个 s有3个 按顺序分配之后就是aaabbccdsss,就已经排好序了。 现在用线段树的每个节点保存区间内每种

2015-12-09 11:02:08 468

原创 cf #311 E. Ann and Half-Palindrome (dp+字典树)

题目:http://codeforces.com/contest/557/problem/E 题意:定义半回文串:字符串前面一半的奇数位上的字符和后一边对应位置上的字符相同的字符串。给定长度|s| 分析:定义dp[i][j]表示区间[i,j]代表的子串是否为半回文串。然后n^2推出所有的半回文子串。将所有的半回文子串插入字典树,然后遍历一下字典树,找到正确的位置输出就行了。 代码: #in

2015-12-06 13:15:06 392

原创 cf #311 D. Vitaly and Cycle (二分图染色)

题目:http://codeforces.com/contest/557/problem/D 题意:给定没有自环,没有重边的无向图。问最少添加几条边使得存在有奇数个节点的环。并且求出可行的方案数。 分析: 分情况讨论: ①图里面没有边,都是点,那么最少要加3条边。然后然选3个点作为环的顶点。 ②图中最长的链的长度为1,那么最少要加2条边。以已知边最为环的一条边,再在剩余的顶点内选一个顶点

2015-12-06 13:05:50 487

原创 cf #334 D. Moodular Arithmetic (组合计数)

题目:http://codeforces.com/contest/604/problem/D 题意:给定p和k,p是大于2的素数。找满足的方案数,其中. 例如p=3,k=2的方案数有三种: f(0) = 0, f(1) = 1, f(2) = 2. f(0) = 0, f(1) = 2, f(2) = 1. f(0) = f(1) = f(2) = 0. 分析: 当p=3

2015-12-03 10:36:51 512

原创 cf #334 C. Alternative Thinking (思维题)

题目:http://codeforces.com/contest/604/problem/C 题意:给定长为n的01串,将一段连续的区间的值取反,求最长的01交替的串的长度(不一定要连续)。 分析:将一段连续的区间的值取反后,区间内最长交替串的长度不变,影响的只有两边的连接。所以,长度最多只能增加2。把所有可能增加交替长度的情况考虑一下就好了。 代码: #include using na

2015-12-03 10:10:23 576

原创 cf div2 #333 D. Lipshitz Sequence (单调栈)

题目:http://codeforces.com/contest/602/problem/D 题意:给定n(n)个整数的数组h[i],现在定义一个函数 For an array , we define it's Lipschitz constant  as follows: if n ,  if n ≥ 2,  over all 1 ≤ i j ≤ n 然后有

2015-11-27 21:44:02 613

原创 codeforces #331 D. Wilbur and Trees (dp)

题目:http://codeforces.com/contest/596/problem/D 题意:有n棵高为h的树在一排,已知每棵树的位置pos。现在你从最左边或者从最右边等概率挑选一棵树砍断,树向左倒的概率为P向右倒的概率为(1-P),树倒下时如果撞到了其它的树会发生连锁反应,假如还有树没有倒完,你还会等概率挑选一棵树砍断。现在问你所有树倒下时覆盖地面的长度的期望。 分析: 开始定义dp

2015-11-18 19:33:15 548

原创 hdu 5564 Clarke and digits (dp+矩阵加速)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=5564 题意: 问题描述 克拉克是一名人格分裂患者。某一天,克拉克变成了一个研究人员,在研究数字。 他想知道在所有长度在[l, r][l,r]之间的能被77整除且相邻数位之和不为kk的正整数有多少个。 输入描述 第一行一个整数T(1 \le T \le 5)T(1≤T≤5),表

2015-11-16 13:20:12 1082

原创 codeforces #302 Remembering Strings (dp)

题目:http://codeforces.com/contest/544/problem/E 题意:给定n个长度为m的字符串。为了让每个字符串变为独特的(该字符串的某一个位置存在一个字符ch,其他串的这个位置都不存在这个字符ch),你可以改变某些字符串的某些字符。现在告诉你改变每个字符的代价,求让所有的串成为独特的串的最小代价。 分析:定义dp[bitmask],bitmask的二进制中的1表

2015-11-12 16:41:49 539

原创 codeforces #302 Destroying Roads (最短路径+暴力)

题目:http://codeforces.com/contest/544/problem/D 题意:给定一个连通图,现在让你找出两条路径d1: x1-->y1 和 d2: x2-->y2 并且d1 分析:先预处理出x1到所有点的最短路径,和x2到所有点的最短路径。因为d1和d2有可能重叠,所以,暴力枚举所有可能重叠的路径即可。 PS:由于边权全部为1,所以可以用O(n)的时间复杂度广搜出x1

2015-11-12 16:08:40 532

2010~2014湖南省程序设计竞赛题目+数据+标程

此压缩包包含2010~2014年湖南省程序设计竞赛的题目和数据以及标程。赛前练一练,对比赛有帮助。

2015-12-13

空空如也

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

TA关注的人

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