摘要: 1001 【题意】 给定一个长度为n(n<=100000)的正整数序列,给出m(m<=100000)个子集合和的记录,问哪些一定比正确的记录多了 【题解】 对正整数序列求和,记录比和大的一定记录多了 HackPoint:sum要开long long 1002 【题意】 给定一个长度为n(n<=100 阅读全文
posted @ 2016-08-07 14:29 zhouyis 阅读(165) 评论(0) 推荐(0) 编辑
摘要: *感谢两位浙江大佬带我飞 贴下成绩 div2 div1 *div2不是我打的上个厕所就5/11了 比赛小结 A 【题目大意】 有n(n<=500)个机场,两两之间距离是g[i][j],每经停一个机场需要p[i]的时间维修 有m条线路,描述为出发机场,终点机场,出发时间,求航空公司至少需要多少架飞机 阅读全文
posted @ 2016-08-05 18:02 zhouyis 阅读(612) 评论(1) 推荐(0) 编辑
摘要: Day1 t1:线段树区间修改 upd:更简洁的做法 离散化每个建筑的左右边界,可以用pq来查询右边界未被删除的建筑物的最值 t2:字符串哈希+尺取 t3:dp upd:看错题目了,先奇怪的二分一下最大正方形大小,然后枚举左上角计算 Day2 t1:乱搞 t2:贪心 t3:八数码。各种搜索+剪枝 Day3 三题搜索 Day4 t1 t3普及组 t2:设状态f[i][j... 阅读全文
posted @ 2016-08-04 19:00 zhouyis 阅读(163) 评论(0) 推荐(0) 编辑
摘要: codeforces394E 如果没有在凸多边形内一点的限制,答案肯定是 如果不在凸多边形内,那么目标点肯定在凸多边形边上,我们枚举每条边,在每条边上求出距离平方和最小的点,在这些点中求出最小的 我们可以发现固定一点计算这个平方和不要O(m)的时间,只要维护x坐标平方和,x坐标的和就可以O(1)计算,但是计算起来很鬼畜 其实最后答案就是凸多边形上,离这个最近的点。 #i... 阅读全文
posted @ 2016-08-03 17:48 zhouyis 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 首先显然有多少个奇数,就有多少个回文串是最优的(没有奇数时构造一个回文串 然后有了k个“核心”,把剩下的字符顺序安排到这些的两侧,最后最短的回文串长度就是答案 上次做这题:20160430ysy出题的时候 首先任意两点的最短路只有两种情况:曼哈顿距离,曼哈顿距离+2 那么我们考虑怎样的点对曼哈顿距离 阅读全文
posted @ 2016-08-02 14:34 zhouyis 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 前言:单独对题面描述的评分-> 【题解】把相邻长度为2的子串两两连边,跑欧拉路 /*明天再写,先贴一份方老师代码压压惊*/ #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define... 阅读全文
posted @ 2016-08-01 16:09 zhouyis 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 首先最优策略肯定是这样的:我们取出这个序列中的最大值,然后将整个序列分为左右两部分, 那么我们一定先把左右两部分合起来然后再与这个值合并 那么我们可以得出一个基于最值查询(rmq)的的算法,但是zld上次出10^6级别的题目时,卡掉了的算法 所以我们想一个优秀一点的做法,发现这个过程可以简单的用一个单调队列维护,维护单调减的单调栈,就可以O(n)解决这个问题 我们仔细观察会发现更优秀的做... 阅读全文
posted @ 2016-07-31 21:12 zhouyis 阅读(261) 评论(0) 推荐(0) 编辑
摘要: T1: 我们可以用火柴棒来表示十进制下的0~9, 如图所示 现给定火柴数n, 问用这n根火柴能组成的最小数和最大数分别是多少. 所有火柴必须全部用完, 并且所有数字必须是正的且不含前缀零. 【解题】 首先最大数,我们要让位数最多,那么如果n是偶数,那么输出n/2个1,否则就在前面加上个7 然后输出个1 最小的数,有点难办,我们发现前三位都是循环,然后剩下火柴数量都是7的倍数,要使答案... 阅读全文
posted @ 2016-07-31 19:41 zhouyis 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 大坑最后再填。 20160803:心情好回来填啦(5/7) 做的题目是: poj2970 我们先每个人都不给钱qwq 然后我们发现有一位的工作时间超过了d 那么我们就从以前安排过工作的人里,a最大的,给他加上一定量的x,使得后面的这个超出di的工作者可以在di前完成任务,或者他的工作时间已经为0,则继续找剩下的当中a最大的 这个过程用堆维护,时间复杂度O(nlogn) s... 阅读全文
posted @ 2016-07-31 19:24 zhouyis 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 【题目大意】 有许多木块, 叠放时, 必须正着叠放, 如图1, 左边两块为合法叠放, 右边为不合法叠放. 图1 一个方块被称为稳定的, 当且仅当其放在最底层, 或其正下方有方块且下方的这个方块的四周都有方块. 叠放必须保证所有方块都稳定. 如图2, 左边3个叠放为合法叠放, 右边2个叠放为不合法叠放 阅读全文
posted @ 2016-07-30 21:14 zhouyis 阅读(240) 评论(2) 推荐(0) 编辑