贪心只能过样例
stone41123
一名苦逼的OIer,欢迎交朋友。。。
展开
-
coin collector(一道测试题)
题目(英文的,将就着看吧)Our dear Sultan is visiting a country where there are n different types of coin. He wants to collect as many different types of coin as you can. Now if he wants to withdraw X amount of mon原创 2017-07-05 23:47:06 · 419 阅读 · 0 评论 -
【NOIP2017提高A组冲刺11.2】失格(乱搞)
Description胆小鬼连幸福都会害怕,碰到棉花都会受伤,有时还被幸福所伤。 ——太宰治《人间失格》回顾我的一生,一共有n个事件,每一个事件有一个幸福值p_i。 我想用n-1条线把所有的事件连起来,变成一个连通块。一条连接了事件x和事件y的线会产生min(p_x mod p_y,p_y mod p_x)的喜悦值。 日日重复同样的事,遵循着与昨日相同的惯例,若能避开猛烈的狂喜,自然也不会有悲原创 2017-11-02 19:57:23 · 429 阅读 · 0 评论 -
【NOIP2017提高A组冲刺11.2】字典序(拓扑序+堆)
Input第一行两个正整数n,m。接下来m行每行两个数ai,bi。Output输出一行n个整数表示答案。如果不存在这样的排列,输出-1。Sample Input5 4 5 4 5 3 4 2 3 2Sample Output1 5 3 4 2Data Constraint对于20%的数据,n,m<=10。 对于40%的数据,n,m<=200。 对于60%的数据,n,m<=1000。 对原创 2017-11-02 13:02:25 · 392 阅读 · 0 评论 -
洛谷10月月赛R2-T2-Chtholly Nota Seniorious
传送门 这个题首先我们发现那条分界线是单调的 并且最大值最小应该是老套路了,二分答案。 二分答案之后就可以贪心了,每一行尽量填,具体可以看我的代码:#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>#include<cstdlib>#define ll long原创 2017-10-21 17:31:42 · 388 阅读 · 0 评论 -
洛谷 P1377 [TJOI2011]树的序
传送门 其实此题和那个qbxt的bst是一样的,我们可以按照同样的方法(详见这里)来处理,建出来树,然后就可以直接输出先序遍历即可,这就是贪心的思想。 具体贪心原理:首先,一棵树必须先有根,那么就要先输出根,然后因为字典序最小,所以我们每次都要尽可能地输出合法的最小数,那么根据二叉查找树的性质,我们就应该先输出左子树,然后再输出右子树,那不就是先序遍历了? 代码:#include<cstdio原创 2017-10-12 10:45:52 · 397 阅读 · 0 评论 -
[jzoj5406]【NOIP2017提高A组模拟10.10】Tree
Description给定一颗n 个点的树,树边带权,试求一个排列P,使下式的值最大 其中maxflow(s; t) 表示从点s 到点t 之间的最大流,即从s 到t 的路径上最小的边权Input第一行一个整数n,表示点数 下接n - 1 行,每行三个数u, v, w 表示一条连接点u 和点v 权值为w 的边Output输出一行一个整数,表示答案Sample Input2 1 2 2333原创 2017-10-20 14:18:00 · 415 阅读 · 0 评论 -
清北学堂-D3-T2-safe
这个题有一个很明显的O(n4)O(n^4)的暴力dp方程,我们考虑优化这个dp: fi=max(sumi−sumj+sumk−suml)(j<=i,k<=j,l<=k)f_i=max(sum_i-sum_j+sum_k-sum_l)(j<=i,k<=j,l<=k) 后两个sumk−sumlsum_k-sum_l的值可以通过经典的最大子段和的dp做出来,记为mxjmx_j 然后就是这样了: f原创 2017-10-04 14:14:26 · 495 阅读 · 0 评论 -
洛谷 P1195 口袋的天空
日常再水一篇(逃题目背景小杉坐在教室里,透过口袋一样的窗户看口袋一样的天空。有很多云飘在那里,看起来很漂亮,小杉想摘下那样美的几朵云,做成棉花糖。题目描述给你云朵的个数N,再给你M个关系,表示哪些云朵可以连在一起。现在小杉要把所有云朵连成K个棉花糖,一个棉花糖最少要用掉一朵云,小杉想知道他怎么连,花费的代价最小。输入输出格式输入格式: 每组测试数据的第一行有三个数N,M,K(1<=N<=1000,原创 2017-08-23 21:27:32 · 333 阅读 · 0 评论 -
NOI2015 Day2 T1 荷马史诗(洛谷P2168)
题目描述追逐影子的人,自己就是影子 ——荷马Allison 最近迷上了文学。她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的《荷马史诗》。但是由《奥德赛》和《伊利亚特》 组成的鸿篇巨制《荷马史诗》实在是太长了,Allison 想通过一种编码方式使得它变得短一些。一部《荷马史诗》中有n种不同的单词,从1到n进行编号。其中第i种单 词出现的总次数为wi。Allison 想要用k进制原创 2017-08-03 00:31:18 · 880 阅读 · 0 评论 -
洛谷P1514 引水入城
题目描述在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠。该国的行政区划十分特殊,刚好构成一个N 行M 列的矩形,如上图所示,其中每个格子都代表一座城市,每座城市都有一个海拔高度。为了使居民们都尽可能饮用到清澈的湖水,现在要在某些城市建造水利设施。水利设施有两种,分别为蓄水厂和输水站。蓄水厂的功能是利用水泵将湖泊中的水抽取到所在城市的蓄水池中。因此,只有与湖泊毗邻的第1 行的城市可以原创 2017-07-15 23:24:30 · 265 阅读 · 0 评论 -
[vijos1070]新年趣事之游戏(次小生成树)
传送门 我用的最原始的办法: 先求最小生成树然后枚举删除一条最小生成树上的边 每次跑kruskal 然后时间就是O(nm+mlogm)O(nm+mlogm) 有人会问为什么没有那个log 因为每次只要打个删除标记,就可以避免重新排序,就可以降下来复杂度了 还有更高效的做法,一会儿再补,现在要去上课了(滑稽) 代码:#include<cstdio>#include<cstring>原创 2017-11-06 15:12:22 · 394 阅读 · 0 评论