贪心
alan_cty
蒟蒻一只
别打脸(⊙o⊙)哦
展开
-
[CF526G]Spiders Evil Plan
Description给出一棵n个点的树,边有边权q次询问每次询问给出点x和y,问选y条路径,满足这y条路径的并是一个连通块S,S包含x,且S内的边权和尽量大输出最大的边权和强制在线n,q<=10^5Solution先考虑一次询问我们可以以x为根,然后选2y个叶子到根的路径最长容易发现直径的某个端点一定被选,我们可以以某个直径端点为根建树不考虑包含x,问题变成选2y-1个...原创 2019-10-29 21:32:40 · 367 阅读 · 0 评论 -
[CF506C]Mr. Kitayuta vs. Bamboos
Description有n个竹子,第i个竹子长度为h[i],每天的结束会长高a[i]现在有m天,每一天可以做k次操作,每次操作可以选择一个竹子砍掉p,即高度h[i]=max(h[i]-p,0)你需要最小化m天结束后最高的竹子的高度n<=100000,m<=5000,k<=10Solution先考虑二分答案ans,然后有两种做法:Solution 1:考虑每个竹子,...原创 2019-10-21 21:10:56 · 591 阅读 · 0 评论 -
「JOISC 2017 Day 1」烟花棒
Description有n个人站在数轴上,第i个人在Xi每个人手上都有一个能燃烧T秒的烟花,刚开始时只有编号为k的人手上的烟花是燃着的只允许用燃着的烟花去点燃未点燃的烟花,当且仅当两个人的位置重叠且一个人手上的烟花点燃时能点燃另一个人的烟花问将所有人手上的烟花都点燃的过程中,所有人瞬时速度的最大值最小可以是多少n<=10^5Solution考虑二分答案v,对于区间[i,j],最...原创 2019-02-26 17:02:53 · 865 阅读 · 0 评论 -
[JOISC2017 D2 T1]Arranging Tickets
Description有n个车站按顺时针排成一圈,编号为1…n有n种车票,第i种车票可以从i到i+1,也可以从i+1到i有m类旅客,第i类旅客有ci人,要从ai到bi你需要给每一个旅客确定方案,最小化所有种类的车票中所需数目的最大值n<=2e5,m<=1e5Solution听说是17年最难的题题解好长啊首先我们破环为链,转化一下题意:数轴上有n个整点,m种区间,第i...原创 2019-02-25 19:20:24 · 496 阅读 · 0 评论 -
[CF878E]Numbers on the blackboard
Description给出n个数字,每次询问一个区间[l,r],对这个区间内部的点进行操作。 每次操作可以合并相邻两个数x,y,将它们变成x+2y 对于每次询问输出当最后只剩下一个数字时,这个数字的最大值。 询问互相独立,答案对1e9+7取模。 nSolution首先我们考虑怎么O(n)解决询问 容易发现最后的答案一定是形如∑ni=1ai2ki\sum_{i=1}^{n}原创 2018-01-05 22:52:31 · 1702 阅读 · 0 评论 -
[CF802N][jzoj5378]闷声刷大题
Description给出两个长度为n的数列a和b,你要做k次匹配,每次选择匹配的a[i],b[j]必须满足i<=j 且每个a和b只能被匹配一次。匹配一次的代价为a[i]+b[j],求最小代价。 k<=n<=1.5*1e5Solution非题解法,作比赛时灵稽一动的产物,复杂度多一个log似乎能卡过去(原谅我数大) 当你在想部分分的Dp时,你会不会觉得这个k非常的烦人? 无论你怎么设状态,你原创 2017-09-20 21:23:57 · 606 阅读 · 0 评论 -
【GDOI2018模拟9.16】幽雅的绽放吧,墨染之樱
Description给出一棵大小为n的树,以及m条祖先后代链,选择第i条边会付出代价ci,求选择代价最小的边使得覆盖整棵树。 n<=3*1e5Solution“愿春死樱花下,释迦入灭日。後人悼我,当奉佛樱花。” 额原谅我中二了,不过只是喜欢上一只忘却了过去的亡灵而已。。。。栋栋搬的好题。。。原题CF671D 栋栋有一种将原问题对偶之后的贪心做法,然而我不会(其实是懒得看)。。。 考虑最简单原创 2017-09-28 21:30:11 · 998 阅读 · 0 评论 -
[51nod1299]监狱逃离
Description给出一个n+1个点n条边的树,其中每一个度数为1的点为出口。 现在有一些点有逃犯,你需要在一些没有逃犯的点放置警卫,有警卫的点逃犯无法经过。 求若使所有逃犯均无法到达出口,最少需要多少个警卫。 n<=10^5Solution为什么我一眼想到最小割=w= 就是所有的逃犯无法到达一些点,那么我们把每个点拆点,x向x’连容量为1的边,割掉这条边表示在这个点放置警卫。 然后对原创 2016-12-20 22:01:13 · 1703 阅读 · 2 评论 -
【NOIP2012提高组】国王游戏
Description现在有n+1个人在愉快滴玩游戏~~每个人从0~n编号,并且有a,b两个值。其中编号为0的人必须排在第一个,然后其他人可以任意排。每个人的得分=他前面所有人的a值乘积/他自己的b值向下取整。求,除0号意外,所有人中的分的最大值最小是多少。n<=1000,a,b<=10000。Solution很明显就是贪心。关键是策略是什么。 我们设S=∏ni=1aiS=\prod_{i=1}^原创 2016-03-14 20:29:47 · 1748 阅读 · 0 评论 -
【NOIP2016提高A组模拟9.17】序列
Description给出两个长度为N的序列A和B,每次可以选择一个i和j(1<=i<=j<=N),使Ai~Aj都+1然后模4,求最少的操作次数把A变成B。 N<=10^5Solution显然我们可以求出一个a数组ai表示Ai要用多少次才能变成Bi 然后就相当于每次把一个区间的a全部-1,求把a清零的最小次数。 那么这就是一个经典模型了。 问题是,ai和ai+4是等效的。 于是我们可以给任原创 2016-09-19 19:39:36 · 521 阅读 · 0 评论 -
[UOJ#244][UER#7A]短路
Description你有一个大小为(2n+1)*(2*n+1)的n+1个圈构成的图,下面是n=4的情况。 其中字母相同的点的权值相同。 给出每个点的权值,你可以走到4相邻的格子,求从左上走到右下所经过的点的权值和的最小值。 n<=10^5Solution首先,我们可以想到,最优路径一定是只往右\下走的,因为往回走我们可以平移一下,使得某一条边没必要经过。 然后有一个很(不)显然的结论,原创 2016-10-18 19:13:21 · 686 阅读 · 0 评论 -
[CF 703C]Chris and Road
Description平面内有一个凸n边形,以每秒v个单位的速度向左移动。 有一个行人在(0,0)处,要走到(0,w),行人可以任意调整自己的速度,但是最大速度不超过u。 求行人在不碰到凸n边形的情况下到达目的地的最短时间。Solution我们可以发现,对于每个点,如果我们让这个人走到这个点,然后再以最大速度走到终点,这样的时间的最大值就是我们要求的答案(影响最大的点只有一个) 但是,有两种特原创 2016-10-12 20:28:08 · 513 阅读 · 0 评论 -
【GDOI2017模拟8.12】新车
Description平面上有一个数轴,e点为目标点。 你现在要开♂车从w前往e,每移动1格需要1L油。 你的油箱容量为S,初始时装满了98#汽油。 数轴上有N个加油站,每个加油站提供98#,95#,92#中的一种。 到了加油站你可以选择加任意数量的油,你的油箱是兹瓷所有油甚至混合油的。。 你认为98#最吼,95#其次,92#跑的最慢。 于是你钦点使消耗的92#最少。 如果有多种方案,原创 2016-08-13 21:49:49 · 475 阅读 · 0 评论 -
【GDOI2017模拟8.15】Buy
Description有n个袋子和m个粮食(量词鬼畜,我是搬运工233) 第i个袋子里会有pi的概率装vi的金币,有1-pi的概率装一颗钻石。 每个粮食需要ci的金币和di的钻石才可以购买。 求购买粮食的期望个数。 n,m<=30,ci,vi<=100000000Solution首先,我们很显然可以预处理出Fi,j表示用i个钻石买j个粮食所需要的最小金币数。 然后,显然对于n<=30的情况原创 2016-08-16 21:08:14 · 494 阅读 · 0 评论 -
[51nod1274]最长递增路径
Description一个无向图,每条边有一个边权。可以从任何点出发,任何点结束,可以经过同一个点任意次。走过的路必须满足所有边的权值严格单调递增,求最长能经过多少条边。 n,m<=50000Solution既然它是要求严格单调递增,那么我们就可以直接Dp了。 不会有后效性。 把所有边排一遍序,然后就可以了。Code#include<cstdio>#include<cstring>#inc原创 2016-07-08 16:53:28 · 1269 阅读 · 0 评论 -
【GDOI2014模拟】旅行(水法)
Description给出一张n个点,m条边的图,你可以选择一些边,使得1和n,2和n-1,3和n-2…k和n-k+1联通。代价为这些边的边权和。 求最小代价。 n<=10000,m<=12000,k<=4Solution这是一种神奇的方法。 求打脸/证明 如果只有一对点,那么答案就是他们的最短路。 如果多了一对点呢? 先选择一对跑最短路,然后把经过的边的边权变成0,然后再跑一边。 依原创 2016-05-21 13:24:46 · 1145 阅读 · 2 评论