摘要: Maximize 题意:整个程序有2种操作,操作1将一个元素放入集合S中,且保证最新插入的元素不小于上一次的元素, 操作2 找到集合S中的某个子集合, 使得 集合中最大的元素减去平均数的值最大。 题解:找子集合的时候将整个几个分成2边, 左边为前i个数, 右边为最新插入的数。 那么我们就可以想到, 阅读全文
posted @ 2018-03-03 11:01 Schenker 阅读(182) 评论(0) 推荐(0) 编辑
摘要: Sleepy Game 题意:Petya and Vasya 在玩移动旗子的游戏, 谁不能移动就输了。 Vasya在订移动计划的时候睡着了, 然后Petya 就想趁着Vasya睡着的时候同时定下策略, 如果可以赢得话输出Win 并输出路径, 如果步数在达到1e6的情况下,就认定为平局, 输出Draw 阅读全文
posted @ 2018-03-03 09:07 Schenker 阅读(260) 评论(0) 推荐(0) 编辑
摘要: Cashback 题意:一共给你N个数, 然后将他们分成连续的子集, 每个集合可以删除 元素个数/c 个最小元素, 然后求每个集合删除元素后的总和。 题解:我们将集合分为1个元素或者K个元素,每K个元素查询一下最小值,然后找到最小值, 然后 dp一下就可以找到最后的结果 emmm, 当时CF的时候题 阅读全文
posted @ 2018-03-02 21:11 Schenker 阅读(202) 评论(0) 推荐(0) 编辑
摘要: Buy a Ticket 题意要求:求出每个城市看演出的最小费用, 注意的一点就是车票要来回的。 题解:dijkstra 生成优先队列的时候直接将在本地城市看演出的费用放入队列里, 然后直接跑就好了, dis数组存的是, 当前情况下的最小花费是多少。 代码: 阅读全文
posted @ 2018-03-02 20:14 Schenker 阅读(211) 评论(0) 推荐(0) 编辑
摘要: Misha, Grisha and Underground 题意:Misha 和 Grisha 是2个很喜欢恶作剧的孩子, 每天早上 Misha 会从地铁站 s 通过最短的路到达地铁站 f, 并且在每个地铁站上都写上一句话, 然后Grisha 再从地铁站 t 通过最短的路到达地铁站 f, 并且记录下 阅读全文
posted @ 2018-02-27 21:05 Schenker 阅读(219) 评论(0) 推荐(0) 编辑
摘要: A:逆序数 写过一篇原理,这里不想多说。 传送门 代码: 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define LL long long 4 #define ULL unsigned LL 5 #define fi first 6 #d 阅读全文
posted @ 2018-02-25 22:06 Schenker 阅读(351) 评论(0) 推荐(0) 编辑
摘要: Two Sets 题意:就是将一对数放进setA, setB中, 如果放进setA的话要求满足 x与a-x都在这个集合里面, 如果放进setB中要求满足x与b-x都在这个集合中。 题解:我们将能放进B的元素优先放在B中,如果能放进B就直接将2个元素放进B中。 然后如果能放进A中就放进A中, 如果在放 阅读全文
posted @ 2018-02-25 21:45 Schenker 阅读(263) 评论(0) 推荐(0) 编辑
摘要: Blue Jeans 题意:T组数据, 每次数据n个串, 求相同的连续子串,要求最长, 如果长度相同有多组, 那么输出 字典序最小的那个。 第一次字符串Hash, 写的不好, 见谅, 2333。 貌似更暴力的方法能过。 代码: 1 #include<cstdio> 2 #include<iostre 阅读全文
posted @ 2018-02-24 12:10 Schenker 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 采矿 题解:如果给你一条线段(左右端点设为A,B), 那么在这条线上的任意一点到A B距离之和是一个定值, 然后如果再这条线段内在任意确定一个定点C, 那么这条线段上再任意取一个点,这个点到 A B C距离最小的点是和C点重合的位置, 因为AB距离为定制。 所以给你一堆点在一条直线上, 那么所有距离 阅读全文
posted @ 2018-02-23 15:48 Schenker 阅读(113) 评论(0) 推荐(0) 编辑
摘要: Big Number 题意:算n!的位数。 题解:对于一个数来算位数我们一般都是用while去进行计算,但是n!这个数太大了,我们做不到先算出来在去用while算位数。 将一个数对取10对数(取整),然后再加一就是这个数的位数,然后我们在算n!的时候每次对10取对数就好了。 然后有一个公式叫做斯特林 阅读全文
posted @ 2018-02-22 23:35 Schenker 阅读(199) 评论(0) 推荐(0) 编辑