自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

缺氧

2015/12/03 Go the extra mile.

  • 博客(39)
  • 资源 (4)
  • 收藏
  • 关注

原创 CF#310-E - Case of Chocolate-(set+贪心)/(线段树+离散化)/(隐式线段树)

看了官解 是用2个线段树,一个维护横坐标,一个维护纵坐标(要离散化).......还有后面的隐式线段树还没看后来看到另一种方法、仔细分析下题目的操作,其实很简单。用两个set维护 横纵坐标、分别叫row(水平方向)、high(竖直)分析两种情况:对于(xi,n+1-xi),若是向上吃,能够影响它的操作(xj,n+1-xj)一定是右边第一个点,若点i右边有点:如果

2015-09-30 03:12:56 635

原创 cf#310-D. Case of Fugitive-贪心

给你n个岛屿的左右端点(l.r)(此题岛屿不是点,是一个区间)给你m个桥题目要求桥大于等于两个岛屿之间的 min距离,且小于等于其max距离,min=bridge(i+1).L-bridge(i).r。  max=bridge(i+1).r-bridge(i).l;思路: 先对桥排序再对岛屿排序,应该先对max距离从小到大排序,max相同则对min从小到大排序 

2015-09-29 12:59:14 548

原创 CF#322-B. Luxurious Houses-模拟水题

n个房子在一列上,每个房子有高度值 定义: 如果房子i的高度比右边所有房子都高,则 为  高贵的房子求出对每一个房子,要使得自己变成高贵的房子需要增加多少高度直接预处理右边所有房子高度最大值即可。最后输出比较是 右边所有房子的max_high大 还是自己大就可以了水题#include #include #include #include #inclu

2015-09-28 21:58:16 506

原创 CF#322-C-Developing Skills-模拟大水题

http://codeforces.com/contest/581/problem/C给你n个技能,和一个k n个数代表技能当前level  (最高level是100)让你求the sum of the values ​​of for all i from 1 to n.    因为是除十取整,所以我们只要尽可能加够整十,例如18和12对答案的贡献分别都是1,但

2015-09-28 21:55:11 699

原创 CF#322-D. Three Logos-模拟水题

坑爹啊,    题目很简单要把三个矩形的logo塞进一个最小的正方形(是正方形)的木板里直接把三个矩形面积加起来,如果不是一个平方数,直接nox1 y1 表示矩形的长宽, 自己处理使得  y1>=x1接下来只有2种情况了!  一个是  三个矩形横着叠成三层 形如 “三”   条件是 y1==y2==y3==n 切 x1+x2+x3==n另一个是 一个矩形在上面,两个在下面

2015-09-28 21:47:18 366

原创 CF#310-C-Case of Matryoshkas-模拟水题

公仔套公仔的游戏(只能小的套到大的里面)操作1 : 把公仔a从公仔b分离出来,条件是,b不能被别的公仔套着操作2: 把公仔a套进b里去,条件是,b里面没套东西,并且b没套在另一个公仔在里面显然按照条件,只有 以1开头的  连续 的链是能全部取出来的,剩下的所有的链都要拆成单个cun记录拆的次数single记录 可以作为独立单位的个数先找到 1开头的链, 然后

2015-09-28 14:03:47 548

原创 CF#310-B - Case of Fake Numbers-模拟水题

就是模拟齿轮转动,  序号为奇数的齿轮顺时针转,为偶数则逆时针转k=第一个转到为0的次数所有轮子转k次,看是否构成0 1 2 3 4 ....n-1就可以了//也是醉了,  写了一个scanf(“%1d”)。。。wa了好几次#include #include #include #include #include #include #include #inclu

2015-09-28 13:55:56 405

原创 CF#310-A-Case of the Zeros and Ones-链表模拟

删除相邻的 01 直到无法继续删除,直接stl的list模拟一发就好了#include #include #include #include #include #include #include #include #include #include using namespace std;list sb;list ::iterator it,nx;int mai

2015-09-28 13:52:25 435

原创 hdu-5475-An easy problem-线段树求乘积

题意。初始X=1;给n,mod   ,表示n次操作操作1格式 : 1  b 表示用x乘上b操作2格式: 2   n 表示 当前x除掉第n次 "1操作” 的数每次操作输出一个答案,输出的答案是要对mod取模由于有除法所以我们不能每一步取模一直在想什么办法能过。。。最后卡死了。。赛后才知道 直接就是一个长度为n的rmq线段树每个点维护一个数 初始值为1操作1 就是

2015-09-26 23:50:41 526

原创 CF#317-C. Lengthening Sticks-组合数学

给你a,b,c木棒的长度,给你一个额外长度L你可以给abc随意增加长度x y z(x+y+z《L,xyz可为0) 使得 abc构成一个三角形 首先,枚举合法的三角形肯定是超时的,正难则反,那么我们可以先计算出总共的方案数,以及不合法的三角形方案数,相减便是合法的了;  1、首先枚举 你 增加了的总长度为j  (一定增加了j,不多不少),  j范围是0到L对每一个j, 都有    方

2015-09-26 10:54:12 464

原创 cf#317-B-Order Book-水题

cf#317-B-Order Book-水题给你 n个数据,和一个S一件物品 属性有D、P,V是数量格式:Di Pi  Vi如果Di一样并且Pi一样,要把Vi合并  (v是数量)最后 输出前S个属性D为“sell”的物品(价格越小越前)         按照Pi降序输出 输出前S个属性D为“buy”的物品(价格越大越前)       按照Pi降序输出

2015-09-25 18:38:46 436

原创 cf#318-D - Bear and Blocks-双向dp

题目给你一个积木(n个数字、表示第i列的高度为h[i])(类似于俄罗斯方块)每次进行一次X操作,X操作计算把所有边缘的小正方形去掉(也就是把与空白处接触的格子都去掉)问你 给出一个图形 要做多少次操作才能把所有的格子去掉n最大10^5    h最大10^9一开始想直接模拟,每次贪心去掉每一列的能去掉的格子最糟糕的情况 是n*h 的一个矩形    n取10^5    h取10^9

2015-09-25 15:42:04 582

原创 CF#318-C - Bear and Poker-大水题t

给出n个数,允许的操作是对这些数扩大为原来的2倍或3倍 ,次数不限乍一看以为是什么难题,直接求b个数求了一次gcd,然后每个数除去gcd。之后再让每个数一直除2 3,直到不能除,那么最后如果全部数都是1 那么答案 就是YES,否则,必然无法使得全部数最后一样,这样就ac了。。。。最后发现 连gcd都不用求,直接对每一个数不断除2和3,最后如果全部数相等 ,就是 yes,

2015-09-25 13:18:44 481

原创 CF#318-B - Bear and Three Musketeers-暴力寻找三元环

题意是给你n个点m条边求出一个三元环(与a相连的边包括b,c)、(与b相连的边包括a,c)(与c相连的边包括a,b)n,m都是1-4000一开始觉得暴力枚举复杂度肯定过不了。随手打了一发交了一次居然才62ms......后来再算算 的确数据规模有点小,直接暴力就可以了因为需要这个操作 与b相连的所有边中寻找是否存在c,所以直接用set构建邻接表了,查找就可以logn了

2015-09-25 09:30:00 870

原创 CF#318-Bear and Elections-贪心暴力

给n个数,第一个数是自己的票数,其他是别人的票数,要求你去拉票(别人减少了多少票你就会加多多少票)、使得自己票数大于所有人对2到n的人排序,一直取最大的前k个求平均数,判断得到的值是否大于i-1个就可以了、O(N)复杂度 //处理一下后缀和,复杂度o(n)搞定了//贪心#include #include #include #include #include

2015-09-25 08:43:48 396

原创 CF#319-C. Vasya and Petya's Game-猜数-数论

给一个n,B同学从1-n里默默挑一个数X,A同学给出一个问题列表,问x能否整除y;如果可以回答yes 否则no这里要注意的是   A同学是一次性给所有的问题, 即给出所有的可能,而不是问问题的同时能根据B的回答决定一下一个要问的问题(即,没有交互性)那么便得把1-n所有的质数询问一遍,其次,例如质数2被询问过了,得到回答是YES,那么自然也要询问4.6.8.12....一直到pow

2015-09-23 13:16:00 587

原创 cf#319-div2-B. Modulo Sum-(dp) 求模

题意要n个数中 看能否选出一个组合,使其之和为 m的倍数开一个dp[1001]、tmp_dp[1001]dp[i]的意思,是能得到 一个组合,其和为sum 且sum%m==i 那么我们就让dp[i]=1;表示存在在递推的过程中,如果我们在前i个数得到dp[j]=1;也就是存在sum1%m==j;那么对于a[i+1]、我们可以推得  一个sum2=sum1+a[i+1]、所以得到

2015-09-23 08:16:07 723

原创 2015年ACM北京网络赛 B题Mission Impossible 6-链表模拟

用链表模拟文本编辑操作L、R光标左右移动、到尽头则不移动S、切换插入模式 覆盖模式C 选中模式开启,再次按下C 则为复制到剪切板V粘贴B 删除光标前一个字符  在尽头则不删除D删除光标前一个字符 在尽头则不删除、如果C选中模式开启了且选择了文字,则删除该段文字按下C后 再按下除CLR外任何一个字母都会 使 C选中模式 无效因为用了STL的list   其中p

2015-09-21 22:11:06 719

原创 cf#320 Div.2 Problem C A Problem about Polyline

题目要求一个x使得  最后折线通过 点(a,b)显然 b>a时,无解,b==a时,解为b当a>b时,一定存在解;容易得知 如果(a,b)在上斜边上,那么该边与x轴交点为(a-b,0),称为点C如果(a,b)在下斜边上,那么该边与x轴交点为(a+b,0),称为点C 讨论a+b的情况先假设解为x  那么 令y=(a+b)/(2*x)必然是一个整数、、表示

2015-09-18 14:07:26 595

原创 cf#320 Div.2 Problem D "Or" Game

本题就是给你一堆数, 然后给你一个x^k  要把这个x^k乘到哪个数,能使得这一堆数的 or运算之和最大显然要让和最大 ,得让 被乘得到的数 最高位最大,所以全部数乘到一个数上但是并不是选最大的一个数,例如 2 2 2 4 5选四 是16|5 =21选五 是 20|4 =20其实我们可以证明  如果一堆数是 1 2 3 5 6 7 11 12 14

2015-09-18 08:32:36 531

原创 hdu1711-Number Sequence-kmp基础 模式匹配

kmp最基本功能,在主串找到子串位置并返回,找不到返回-1

2015-09-16 21:25:00 498

原创 LA-3026 - Period-MP算法-失配函数-寻找循环节 (kmp)

大白书上kmp的例题这里由于没有对失配函数进一步优化,所以叫mp算法。先用mp算法 得到字符串t 的每一个t[i]的next数组,其中t[i]的next值应该是   (nextval【i+1】) //   失配函数的写法不同而已,也可以改写成t[i]对应next[i]-----------------------------------------------以上是KMP算法中的失配函

2015-09-16 19:42:54 1029

原创 HDU 1251-统计难题-基本字典树

给n个单词建立一个表给n个串查询以该串为前缀的单词个数 包括本身就是单纯地遍历一次字典树#include #include #include #include #include #include #include #include #include using namespace std;#define inf 2147483647 const i

2015-09-15 22:47:02 409

原创 hdu-5441-Travel-带权并查集

题意 给你n个城市m个边,每条边有一权值,表示路费如果给出一笔钱,钱大于路费则表示该条路可以通过通过这条路 则代表 点 (a,b)  和(b,a)是合法的点,合法的对数为2k次查询,每次查询给出一笔钱,求该笔钱能走过的所有点的合法对数对输入的边按权值排序,对输入的钱数按权值排序对第一笔钱,把权值比钱小的边 全都加到一个并查集,设两端点为t1,t2 i

2015-09-15 08:40:06 735 5

原创 hdu5444-Elven Postman-最最朴素的二叉搜索树

就是裸的二叉搜索树只需要在插入的时候 给节点附加一个W或E的信息查询时输出该信息就可以这么水的题居然没看到。。。#include #include #include #include #include #include #include #include #include #include #define inf 0x7fffffff#def

2015-09-15 00:29:39 559

原创 hdu-5443-The Water Problem -裸的RMQ线段树

#include #include #include #include #include #include #include #include #include #include #define inf 0x7fffffff#define lson l , m , rt << 1#define rson m + 1 , r , rt << 1 | 1const int

2015-09-14 14:15:47 343

原创 hud5437-Alisha’s Party-优先队列

就是裸的优先队列  (因为数据太小 了)题意就是  一堆朋友拜访主人公  各自带了礼物给你m次开门的机会,开门时 如果朋友没全部到齐,按以下规则在第m次开门的时候 让礼物价值最大的前p个人进来,全部人到齐后。让全部人进来,求进门的人的顺序对客人维护一个优先队列就可以了,对m,p 让前m个人进优先队列取前p个人就行了,因为数据小 暴力取就ok;trick是

2015-09-14 14:12:56 392

原创 hdu5438 -ponds -水题

给你一堆点先进行一个操作,对 度数为1的点 全部删掉,然后得到剩下的n个联通块,每个联通块里面的点个数为奇数 则把点的权值之和加入ans 为偶数则忽略不计;方法是直接模拟,先用并查集把点分成n个联通块,然后对并查集的 根排序,得到各个块对每个块处理, 如果块中的点 度数为1 加入队列, 顺便统计联通块的sum值 和点的个数值在队列里面 不断取出度数为1的点tmp,从sum和点个数n

2015-09-14 14:03:40 561

原创 UVA 11732-"strcmp()" Anyone?-trie(左儿子右兄弟表示法(省空间))

本题数据略大,显然不能用普通的儿子节点法建立trie,因此采用左儿子右兄弟表示法建树,其实就是二叉树表示法,本质就是把原来的26叉树转成2叉树,时间复杂度常数增大,空间复杂度尽可能减小我们知道26叉树中,如果数据不那么变态,应该是大部分节点都是浪费掉的,而使用二叉树建树,能充分利用空间,缺点就是 原来访问某个节点的子节点 如果查询子节点中有没‘a’字符,我们只需要访问ch[u][0]即可,O(

2015-09-11 10:06:58 750

原创 LA 3942 Remember the Word(字典树/树上dp)

题目,给出3w长度的字符串,一部字典 4000个长度不超过100的单词把该字符串可以分解成x个字典的单词为一种合法方案求出该该字符串的所有分解方案数,对20071027取模思路:dp[i]表示 从第i个字符开始到结尾的一个子串dp递推;dp[i]=sum(dp[ i+len(x)   ])  x为    子串S【i,结尾】的前缀显然把单词做成字典树,每次对查询前

2015-09-09 14:07:00 416

原创 LA-11992-Fast Matrix Operations 快速矩阵操作(线段树成段更新)

题意:给定一个r*c(r1 x1 y1 x2 y2 val 表示将(x1,y1,x2,y2)(x12 x1 y1 x2 y2 val 表示将(x1,y1,x2,y2)(x13 x1 y1 x2 y2 val 表示输出(x1,y1,x2,y2)(x1线段树基本功能啦。。开r个线段树..(最多20).每次对r个线段树操作就好了这里有个问题就是,set和a

2015-09-06 18:19:40 844

原创 LA3938-Ray, Pass me the dishes!--动态最大连续区间和(线段树+前后缀数和组)

题意:给一个数组,求任意区间的最大连续和 长度n,查询次数m  n,m大小是5*10^5每个数不超过1e9之前做的是静态数组求一次最大连续和,方法有很多,dp之类的都能o(n)解决。  还有一个是分治法,nlogn解决:http://blog.csdn.net/viphong/article/details/48221429这里也是用分治法的思路解决:称区间【l,r】的最大

2015-09-05 18:29:13 1669

原创 最大连续区间和(非环) -dp/分治

因为正要学 动态最大连续区间和 所以先用分治做一下静态的。。。以前是dp做的o(n)分治大约是是nlogn分治: #include #include #include #include #include #include #include #include #include #include using namespace std; #include

2015-09-05 04:52:33 775

原创 UVA 11235-Frequent values-RMQ(st表)+游程编码

http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=23846题目大意:给一个非降序排列的整数数组a,你的任务是对于一系列询问(i, j),回答ai,ai+1...aj中次数出现最多的值所出现的次数。预处理是先把所有相同的元素合并成一个node,node含该元素编号+该元素个数  ( 称为表2)并且记录

2015-09-05 02:58:36 574

原创 LA-4329 Ping pong - treap (排名树)/树状数组求排名

题目https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=26&problem=2330&mosmsg=Submission+received+with+ID+1779597题意:  一条大街上住着n个乒乓球爱好者,经常组织比赛切

2015-09-05 01:00:00 608

原创 LA-3027-Corporative Network-更新深度的并查集

对I操作,直接连上该点与父节点即可对E操作,用findlen函数,会找到a的根节点,并且在找的过程中更新a到根节点之间所有点到根节点的距离,从而下次查找复杂度为O(1)  (如果查找的点为a到根节点之间的点,included)1#include #include #include #include #include #include using namespac

2015-09-04 22:20:11 408

原创 LA -3644 X-Plosives -并查集

...如果能把题目转化为 并查集 就非常简单-.-  不然的话真是没什么思路#include #include #include #include #include #include #include #include #include #include using namespace std; int fa[100005];int find(int x

2015-09-04 17:40:52 382

原创 UVa - 11997 K Smallest Sums(优先队列多路归并)

题意是k个数组,每个数组k个元素,每个数组取一个元素,共k个数之和成为一个参考值,求出k^k个参考值中最小的k个    ...方法就是先 对每个数组排序,    然后由于k个之和最小和 2个之和最小是一样的,那么每次处理两个数组就可以了。。。。对数组A,B  求前k小的A[i]+B[i]   方法是不断取尽可能小的放到优先队列,然后直接取前K个就行了第一次我的取法是

2015-09-04 15:51:48 503

原创 背包九讲-完全背包-HDU1114

注意的两个点就是:题目要最后的背包价值最小,所以用min,初始化的时候把全部初始化为inf,但是f[0]=0其次是,inf要充分大,不能是2^31-1,因为要做加法,会溢出。#include #include #include #include #include #include #include #include #include #include usi

2015-09-02 10:31:29 454

java/swing编写的第一个扫雷程序.jar

个人感觉界面做得还不错的 实现功能点: 主题皮肤更换, OK 三种游戏模式, OK 计时, OK 扫雷英雄榜, OK 保存游戏进度 , OK 载入游戏进度, OK 标记雷区功能, OK 求救(help,提示雷的位置), OK 左右键同时按下九宫格提示/除雷功能, OK 联机对战 ,OK 分辨率自适应,OK

2015-12-24

java/swing编写的第一个扫雷程序

个人感觉界面做得还不错的 实现功能点: 主题皮肤更换, OK 三种游戏模式, OK 计时, OK 扫雷英雄榜, OK 保存游戏进度 , OK 载入游戏进度, OK 标记雷区功能, OK 求救(help,提示雷的位置), OK 左右键同时按下九宫格提示/除雷功能, OK 联机对战 ,OK 分辨率自适应,OK

2015-12-24

AC自动机模板

AC自动机模板,直接套,有注释N的范围,适合初学者学习

2015-12-08

空空如也

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

TA关注的人

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