赛前集训
QTY_
衡中信奥的渣
愿追求卓越,不断前行;只为爱&梦想,不曾停怯
展开
-
bzoj3124 [Sdoi2013]直径 树的直径
问题 I: [Sdoi2013]直径 时间限制: 1 Sec 内存限制: 256 MB 题目描述 小Q最近学习了一些图论知识。根据课本,有如下定义。树:无回路且连通的无向图,每条边都有正整数的权值来表示其长度。如果一棵树有N个节点,可以证明其有且仅有N-1 条边。 路径:一棵树上,任意两个节点之间最多有一条简单路径。我们用 dis(a,b) 表示点a和点b的路径上各边长度之和。称dis(a原创 2017-11-03 10:34:43 · 975 阅读 · 0 评论 -
找规律DP 七十和十七
题面去内网找~~ 这个一看真的不知道是个啥。 观察可知,如果想要处理第i位上的元素使之有序,必须要把前i-1位全部变成有序。我们再分开来想, 如果第i位是i,多移动0步, 第i位是1,多移动1步。 第i位是2,多移动2步:把2提前,再把1提前。 第i位是3,多移动4步:把3提前,重复之前两步。 ……. 也就是说,最后一位是i,移动2^(i-1)步。 因此,把前i为变成有序,要走(i原创 2017-10-15 17:23:28 · 454 阅读 · 0 评论 -
线段树 God Knows
听说这是“极长上升序列”。。。我们可以把题中的图改一下,把左侧的一排视为编号,此位置的值就是此点在右侧连的点的编号。这样问题就变成一个序列了。很明显选一个点就会覆盖它之前权值比他大的点以及它之后权值比他小的点。设f[i]为最后一个选的是i,且i之前的全被覆盖时的最小花费。很容易发现,如果f[i]要从之前的f[j]转移过来,那么a[j]一定比a[i]小,否则i已经被j覆盖了。而且,a[j]一定是区间[原创 2017-10-23 21:46:22 · 447 阅读 · 0 评论 -
二分 starway
很容易联想到二分答案。同样重点在于如何check什么时候不满足呢?有些点间距离<当前二分的答案*2,并且这些点连成了一排使至切断了0~m的整个平面。很明显可以维护一个并查集,并维护这个联通块的最上端和最下端,比较即可。优化:按x坐标排序,如果a[i].x-a[j].x>ans*2,那么前面的不可能再相交了。(否则n=6000,O(N*N*logN)会超时)#include <iostream>#i原创 2017-10-23 20:32:36 · 248 阅读 · 0 评论 -
树规+二分 [Poi2011]Dynamite
Byteotian Cave的结构是一棵N个节点的树,其中某些点上面已经安置了炸药,现在需要点燃M个点上的引线引爆所有的炸药。 某个点上的引线被点燃后的1单位时间内,在树上和它相邻的点的引线会被点燃。如果一个有炸药的点的引信被点燃,那么这个点上的炸药会爆炸。 求引爆所有炸药的最短时间。输入: 第一行是两个整数N,M。(1<=m<=n<=300000) 接下来一行有N个整数Di,第I个数为1表原创 2017-10-31 06:23:24 · 390 阅读 · 0 评论 -
概率DP Spoj4060 game with probability Problem
问题 A: Spoj4060 game with probability Problem 时间限制: 1 Sec 内存限制: 128 MB 题目描述 Alice和Bob在玩一个游戏。有n个石子在这里,Alice和Bob轮流投掷硬币,如果正面朝上,则从n个石子中取出一个石子,否则不做任何事。取到最后一颗石子的人胜利。Alice在投掷硬币时有p的概率投掷出他想投的一面,同样,Bob有q的概率投掷原创 2017-10-30 21:14:39 · 424 阅读 · 0 评论 -
树规 [Heoi2013]Sao
问题 J: [Heoi2013]Sao 时间限制: 3 Sec 内存限制: 256 MB 题目描述 WelcometoSAO(StrangeandAbnormalOnline)。这是一个VRMMORPG, 含有n个关卡。但是,挑战不同关卡的顺序是一个很大的问题。 有n–1个对于挑战关卡的限制,诸如第i个关卡必须在第j个关卡前挑战,或者完成了第k个关卡才能挑战第l个关卡。并且,如果不考虑限原创 2017-10-30 20:54:27 · 437 阅读 · 0 评论 -
十月集训总结
我好颓废啊。。。 以后应该不会分机房了。。那么总共分了3次。我以7/15/15的名次三次都留在了第一机房(明显的退步)。 其实第二轮是非常险的,要不是那几个人被开回家了而且不算成绩,我在就滚到第二机房了。。。 第三轮感觉稍有好转,但成绩起伏很大,而且没有突出的成绩,考好了10名左右,考不好20大几。。。每次总结都在说自己不稳,但从来没有改善,还是太浮躁了,不能以良好的心态正确面对成绩,考不好就原创 2017-10-30 17:59:55 · 513 阅读 · 0 评论 -
概率DP 收集邮票
问题 H: 收集邮票 时间限制: 1 Sec 内存限制: 162 MB= 题目描述 有n种不同的邮票,皮皮想收集所有种类的邮票。唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n。但是由于凡凡也很喜欢邮票,所以皮皮购买第k张邮票需要支付k元钱。 现在皮皮手中没有邮票,皮皮想知道自己得到所有种类的邮票需要花费的钱数目的期望。原创 2017-10-28 21:47:05 · 406 阅读 · 0 评论 -
aoj某比赛记录
背景:达哥lrd给我们推荐了foolmike的一场D2水平的模拟赛。 过程:极其滑稽。。。T1是矩阵快速幂水题,T2有点意思,mike说正解是笛卡尔树,但我并查集+卡常貌似过了(一大拨人被卡常,yzh气得把所有差评都点了一遍)。172. 艺术统计 描述 提交 自定义测试 题目描述Marvolo正看着刚刚入手的北京市地图,路痴的他表示一脸懵逼。刚刚开完会的两人如释负重,决定在帝都游玩一原创 2017-10-21 09:35:58 · 445 阅读 · 0 评论 -
tarjan BLO
[POI2008]BLO 时间限制: 1 Sec 内存限制: 162 MB 提交: 56 解决: 30 [提交][状态][讨论版] 题目描述 Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 所有towns连通。输入 输入n<=100000 m<=500000及m条边输出 输出n个数,代表如果把第i个原创 2017-10-28 21:43:42 · 386 阅读 · 0 评论 -
贪心+大模拟?
之前打过斗地主,华容道,玛雅游戏等等类似于模拟的暴搜,最近又做了麻将,杀蚂蚁,猪国杀。。。感觉各类的游戏貌似被我模拟过一遍了。。(不要和我提什么魔兽世界,我不知道QAQ),据说做大模拟人会变傻,也许吧(冷。。) 其实做大模拟,一定要在打之前,仔细地读明白题(猪国杀蚂蚁我平均读了一个小时),构思好一切整体框架,不要再打了不少之后发现这样实现不了,然后再改好多(为yzh默哀),打之前要静下心,打时要细原创 2017-10-11 21:17:59 · 382 阅读 · 0 评论 -
模拟+贪心 [JSOI2007]麻将
模拟没啥好说的,你要打麻将也会遍历一遍你要什么牌,所以要把所有扫一遍。 首先枚举对子,因为对子只有一个,特殊枚举出来。 然后贪心:先枚举刻子,再枚举顺子。但是是在挨个枚举1~n的基础上,优先找刻子。而且要在这一位能用光的基础上,才去搞下一位。这样有效避免了1 2 2 3 3 3 3 3 4 4 5的情况(如果单纯先枚举刻子,会去掉 3 3 3),但他应该是在3个顺子里。#include <cst原创 2017-10-11 21:07:32 · 357 阅读 · 0 评论 -
树DP 小奇的仓库(warehouse)
问题 C: 小奇的仓库(warehouse) 时间限制: 1 Sec 内存限制: 256 MB 提交: 121 解决: 30 [提交][状态] 题目描述 【题目背景】小奇采的矿实在太多了,它准备在喵星系建个矿石仓库。令它无语的是,喵星系的货运飞船引擎还停留在上元时代!【问题描述】喵星系有n个星球,星球以及星球间的航线形成一棵树。从星球a到星球b要花费[dis(a,b) Xor M]秒。原创 2017-10-11 20:33:30 · 1102 阅读 · 0 评论 -
坐标DP 小奇的矩阵(matrix)
问题 B: 小奇的矩阵(matrix) 时间限制: 1 Sec 内存限制: 256 MB 提交: 95 解决: 34 [提交][状态] 题目描述 【题目背景】小奇总是在数学课上思考奇怪的问题。【问题描述】给定一个n*m的矩阵,矩阵中的每个元素aij为正整数。接下来规定1.合法的路径初始从矩阵左上角出发,每次只能向右或向下走,终点为右下角。2.路径经过的n+m-1个格子中的元素为A1,A原创 2017-10-11 20:25:02 · 854 阅读 · 0 评论 -
状压DP 分裂
问题 E: 分裂 时间限制: 1 Sec 内存限制: 128 MB 提交: 53 解决: 24 [提交][状态][讨论版] 题目描述 Description 背景: 和久必分,分久必和。。。 题目描述: 中国历史上上分分和和次数非常多。。通读中国历史的WJMZBMR表示毫无压力。 同时经常搞OI的他把这个变成了一个数学模型。 假设中国的国土总和是不变的。 每个国家都可以用他的国土面积原创 2017-10-20 17:58:21 · 822 阅读 · 0 评论 -
堆优化DP 征途堆积出友情的永恒
火车是Sunshine Empire的主要交通工具。Eddie和Hobo可以在当前的城市上车,并且在之后的某一座城市下车。从第(i-1)座城市乘坐到第i座城市需要花费Ai的费用。同时,在第i座城市上车需要缴纳Bi的税款。其中,税款属于额外支出,不属于乘坐这段火车的费用。珍娜女王为了促进Sunshine Empire的繁荣发展,下令:如果连续地乘坐一段火车的费用大于这次上车前所需缴纳的税款,则这次上车原创 2017-10-11 20:10:06 · 676 阅读 · 0 评论 -
线段树 weed
最近做了好多线段树啊。。。(但考试时压根想不到这是线段树) 尤其是这道题。 记录这个节点所在区间要向左边删几个,留下了几个,留下值的总和。 那么问题就在于对左右子节点的合并了。因为记录的左右子节点的删除个数,剩余个数,那么只要判断是左边剩下的多,还是右边删得多。如果删得多,那处理就比较方便了。(自己想。。。);但如果是剩的多呢?那么左儿子会剩下一部分,这个就要递归处理了,删掉右儿子的删除的个数原创 2017-10-08 16:39:51 · 287 阅读 · 0 评论 -
矩阵乘 [Shoi2013]超级跳马
问题 F: [Shoi2013]超级跳马 时间限制: 1 Sec 内存限制: 256 MB 题目描述 现有一个n行m列的棋盘,一只马欲从棋盘的左上角跳到右下角。每一步它向右跳奇数列,且跳到本行或相邻行。跳越期间,马不能离开棋盘。例如,当n = 3, m = 10时,下图是一种可行的跳法。 试求跳法种数mod 30011。 输入 仅有一行,包含两个正整数n, m,表示棋盘的规模。原创 2017-10-26 07:25:19 · 581 阅读 · 0 评论 -
几何 Crazy Rabbit
问题 H: Crazy Rabbit 时间限制: 2 Sec 内存限制: 512 MB 提交: 37 解决: 12 [提交][状态][讨论版] 题目描述 兔子们决定在自己的城堡里安排一些士兵进行防守。给出 n 个点的坐标,和城堡里一个圆心在原点的圆形的障碍 ,兔子们希望从中选出 k 个兔子,使得它们两两所在的直线都不与圆相交。兔子们希望知道最多能选出多少兔子 输入 第一行两个整数原创 2017-10-26 06:26:04 · 574 阅读 · 0 评论 -
DP 长寿花
题面去内网找 设g[i][j]表示i个位置,用了j种颜色的方案数。因为a[i]max==5000,所以N^2预处理。 g[i][j]=g[i-1][j-1]j+g[i-1][j](j-1) 解释一下,前i-1个位置共用了j-1种颜色,那么最后一位用啥颜色都行,前i-1个位置把颜色用齐了,那最后一位就只有j-1种颜色可选了(颜色不与前一个重) f[i][j]表示到第i层,用了j种颜色。 f[原创 2017-10-15 18:57:34 · 332 阅读 · 0 评论 -
凸包+可持久化栈 Lost My Music
这玩意看上去好恶心。。。实际上并没有。原来的式子是(c[top]-c[i])/(dep[i]-dep[top])—-> -(c[top]-c[i])/(dep[top]-dep[i]).这样就变成了斜率的形式了。要原来的式子最小,同理就是要现在的式子最大,并且这个斜率满足单调性。如果把斜率从小到大排序,然后放在一起,发现就成了一个下凸壳。考虑维护一个栈,dfs,每到一个点就退栈直到第一个满足的位置原创 2017-10-24 06:50:50 · 598 阅读 · 0 评论 -
可持久化01Trie [Heoi2013]Alo
问题 I: [Heoi2013]Alo 时间限制: 3 Sec 内存限制: 256 MB 提交: 64 解决: 24 [提交][状态][讨论版] 题目描述 Welcome to ALO ( Arithmetic and Logistic Online)。这是一个VR MMORPG , 如名字所见,到处充满了数学的谜题。 现在你拥有n颗宝石,每颗宝石有一个能量密度,记为ai,这些宝石原创 2017-10-24 21:38:08 · 926 阅读 · 0 评论 -
树链剖分 树
很明显一点,T1树里每一条边都会被选取一次。把T2树的每一条边看成一个线段覆盖。每次找到一个只被覆盖了一次的线段,找到他是被那个区间覆盖的,把那个区间删去。如果最后能删完,就有解,删不完就是无解。 搞个树剖维护区间被覆盖的最小次数。但是较难的地方是:如何判断某一条边是被那个区间覆盖的。其实我们可以再维护一个值,把覆盖这个点的区间的编号加起来,因为我们找线段时只是找被覆盖一次的线段,所以一定就是他的原创 2017-10-24 20:51:03 · 292 阅读 · 0 评论 -
杂题 翻硬币
问题 A: 翻硬币 时间限制: 1 Sec 内存限制: 128 MB 题目描述 有一个n行n列的棋盘,每个格子上都有一个硬币,且n为偶数。每个硬币要么是正面朝上,要么是反面朝上。每次操作你可以选定一个格子(x,y),然后将第x行和第y列的所有硬币都翻面。求将所有硬币都变成同一个面最少需要的操作数。 输入 第一行包含一个正整数n。 接下来n行,每行包含一个长度为n的01字符串,表示棋盘上原创 2017-10-16 10:11:44 · 561 阅读 · 0 评论 -
贪心+线性基 [BeiJing2011]元素
问题 C: [BeiJing2011]元素 时间限制: 2 Sec 内存限制: 128 MB 提交: 25 解决: 16 [提交][状态][讨论版] 题目描述 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔 法矿石炼制法杖的技术。那时人们就认识到,一个法杖的法力取决于使用的矿石。 一般地,矿石越多则法力越强,但物极必反:有时,人们为了获取更强的法原创 2017-10-15 21:41:13 · 258 阅读 · 0 评论 -
贪心 阿狸和桃子的游戏
问题 E: 阿狸和桃子的游戏 时间限制: 1 Sec 内存限制: 128 MB 题目描述 阿狸和桃子正在玩一个游戏,游戏是在一个带权图G=(V, E)上进行的,设节点权值为w(v),边权为c(e)。游戏规则是这样的: 1. 阿狸和桃子轮流将图中的顶点染色,阿狸会将顶点染成红色,桃子会将顶点染成粉色。已经被染过色的点不能再染了,而且每一轮都必须给一个且仅一个顶点染色。 2. 为了保证公原创 2017-10-15 21:25:05 · 581 阅读 · 0 评论 -
区间DP 表达式
题面去内网找其实大模拟可过。题比较水,但考试时越改越没耐心。感觉怎么改都不对。。。还是我区间DP学得太死了。。。其实这题枚举到一个区间时,先处理端点()还有’ ‘,再找中间的运算符就行了。#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<iostream>using namespace原创 2017-10-15 19:06:13 · 343 阅读 · 0 评论 -
DP 路径
题面去内网找每一个坏点对答案的负贡献就是走到他的总方案数×他到(n,m)的总方案数。 计算方法:f[i]=C(x+y,x)-sigma f[j]*C(x1,y1) x1,y1就是i,j的x,y之差。而j的要求就是,xj<=xi,yj<=yi。 对坏点排个序,N^2搞即可。#include<cstdio>#include<cstring>#include<cstdlib>#include<原创 2017-10-15 19:02:37 · 437 阅读 · 0 评论 -
线段树 乌鸦喝水
问题 B: 乌鸦喝水 时间限制: 2 Sec 内存限制: 128 MB 题目描述 【题目背景】 一只乌鸦在自娱自乐,它在面前放了n个有魔力的水缸,水缸里装有无限的水。 【题目描述】 他准备从第1个水缸飞到第n个水缸,共m次。在飞过一个水缸的过程中,如果他能够得着水缸里的水,即水缸口到水面距离小于等于乌鸦能够得着的深度,那它就会喝水缸里的水。每喝一次水,所有水缸里的水位都原创 2017-10-12 20:40:04 · 499 阅读 · 0 评论 -
乱搞 [CodeForces 348C] Subset Sums nsqrtn
这道题的思路很神奇,把集合分成了重集合和轻集合。我们把元素个数大于sqrt(n)的集合称为重集合。显然这样的集合超不过sqrt(n)个。 那么就可以分别处理集合了 首先统计出每个集合与每一个重集合交集有多大。维护重集合的sum(总和)和add(这个集合累计加了多少)值。 对于重集合 1.修改:只改一下add就好 2.查询:sum[x]+add原创 2017-10-08 06:57:20 · 294 阅读 · 0 评论 -
模拟 blue
虽说是模拟,但没想到好思路。。。 首先是一个贪心:每只蛤向距离自己最近的一个石头跳。 然后,我们让所有能跳的蛤全跳出来(就是说,让1~D之内的石块上跳满蛤)这样我们就有了一个全是蛤的区间,维护他的左右端点的位置。 然后就要让蛤跳了。。。但首先判断:右端点的蛤能否一次跳到对岸,如果能,就没必要再浪费石头了。通过这个压缩区间,并更新答案。再然后,把这个区间从左端点到右端点,把能转移的全扔到第一个能原创 2017-10-08 16:29:21 · 687 阅读 · 0 评论 -
欧拉函数+线段树 奇数国
问题 B: 奇数国 时间限制: 1 Sec 内存限制: 256 MB 提交: 82 解决: 44 [提交][状态][讨论版] 题目描述 在一片美丽的大陆上有100000个国家,记为1到100000。这里经济发达,有数不尽的账房,并且每个国家有一个银行。某大公司的领袖在这100000个银行开户时都存了3大洋,他惜财如命,因此会不时地派小弟GFS清点一些银行的存款或者让GFS改变某个银行的原创 2017-10-20 17:33:30 · 810 阅读 · 0 评论 -
单调队列 A
题面去内网找很明显正解要二分答案,如何高效率地check呢 1.搞一发线段树。 2.单调队列。 题挺水的,但是该复习一下单调队列了。#include <cstdio>#define N 100005int read(){ int sum=0,f=1;char x=getchar(); while(x<'0'||x>'9'){if(x=='-')f=-1;x=getchar原创 2017-10-20 14:11:38 · 234 阅读 · 0 评论 -
记忆化搜索 [SCOI2008]着色方案
问题 B: [SCOI2008]着色方案 时间限制: 1 Sec 内存限制: 162 MB 提交: 80 解决: 38 [提交][状态][讨论版] 题目描述 有n个木块排成一行,从左到右依次编号为1~n。你有k种颜色的油漆,其中第i种颜色的油漆足够涂ci个木块。 所有油漆刚好足够涂满所有木块,即c1+c2+…+ck=n。相邻两个木块涂相同色显得很难看,所以你希望统计任意两 个相邻木原创 2017-10-16 21:39:44 · 326 阅读 · 0 评论 -
数学 喝喝喝
题面去内网找 其实也就是(a[i]-k)%a[j]==0; 但有两种特殊情况,1,去掉a[j]<=k的情况;2.a[i]==k,不满足的就是他后面第一个比k大的。 维护一个右端点的位置,就好了。#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <cstdlib>#inc原创 2017-10-15 18:30:59 · 337 阅读 · 0 评论 -
模拟 [Sdoi2010]猪国杀
题目的可读版本有那么几个地方需要注意: 1.使用一个锦囊后,先判无懈可击。 2.如果一个猪出完一个牌后,要从头开始看哪个能出(有可能一次出牌后某只猪跳忠或者跳反了,F,K什么的就可以用了。) 3.游戏结束时,没抓的牌就不用抓了。 4.循环无懈可击 5.行末没空格昨天打的时候,有个没玩过三国杀的dalao问我能不能无懈杀。。。。 其实这种题完全没有思维含量,只要打之前把所有细节构思好,之后原创 2017-10-09 20:17:44 · 800 阅读 · 0 评论 -
分层背包 [HNOI2007]梦幻岛宝珠
问题 I: [HNOI2007]梦幻岛宝珠 时间限制: 1 Sec 内存限制: 162 MB 提交: 32 解决: 6 [提交][状态][讨论版] 题目描述 给你N颗宝石,每颗宝石都有重量和价值。要你从这些宝石中选取一些宝石,保证总重量不超过W,且总价值最大为,并输出最大的总价值。数据范围:N<=100;W<=2^30,并且保证每颗宝石的重量符合a*2^b(a<=10;b<=30)输入原创 2017-10-18 20:23:13 · 1124 阅读 · 0 评论 -
容斥原理 集合计数
问题 J: 集合计数 时间限制: 1 Sec 内存限制: 128 MB 题目描述 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为K,求取法的方案数,答案模1000000007。(是质数喔~) 输入 一行两个整数N,K 输出 一行为答案。 样例输入 3 2 样例输出 6 提示 【样例说明】原创 2017-10-18 19:52:49 · 1130 阅读 · 0 评论 -
DP [Sdoi2010]地精部落
问题 H: [Sdoi2010]地精部落 时间限制: 1 Sec 内存限制: 64 MB 题目描述 传说很久以前,大地上居住着一种神秘的生物:地精。 地精喜欢住在连绵不绝的山脉中。具体地说,一座长度为 N 的山脉 H可分 为从左到右的 N 段,每段有一个独一无二的高度 Hi,其中Hi是1到N 之间的正 整数。 如果一段山脉比所有与它相邻的山脉都高,则这段山脉是一个山峰。位于边 缘的山脉只有一原创 2017-10-18 18:28:10 · 639 阅读 · 0 评论