![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
队列
穷源溯流
路很长,尽管走便是。
展开
-
Codeforces Round #642 (Div. 3) D. Constructing the Array(优先队列)
在一个长度为 n 的全 0 数组中构造 1~n 的一种排列。选择长度最长的全 0 子段,如果有多个,选择最左边的;然后在 (l+r)/2 的位置上依次插入 1~n,输出最后构造的序列const int N=2e5+5; int n,m; int i,j,k; int a[N]; struct Node { int l,r; int len; bool operator<(const Node...原创 2021-03-17 18:38:50 · 148 阅读 · 0 评论 -
Bubble Cup 12 - Finals [Online Mirror, unrated, Div. 1] F. Workout plan(优先队列)
有一个人要锻炼 n 天,初始时战斗力为 k,每天都要达到 x[i] 才可以,每天都有一款饮料价格为 c[i],每一款饮料都可以让他的战斗力增加 A,问最少要花都少钱才能完成每天的计划,如果有一天不能输出 -1由于增加的战斗力是固定的,所以挑当前最便宜的是最优的const int N=2e5+5; int n,m; int i,j,k; int a[N];int main(){ while(~sdd(n,k)){ priori...原创 2021-03-13 17:00:46 · 266 阅读 · 0 评论 -
Divide by Zero 2018 and Codeforces Round #474 (Div. 1 + Div. 2, combined)B. Minimize the error(优先队列)
给出两个长度为 n 的数组,每个数组各有 x,y 次操作,每次操作可以将数组内的任意一个数 +1/-1,最后使得两个数组 最小不难想到要用优先队列维护两个数组之间差的绝对值,而且 x,y 的数据范围都是 1e3,需要注意的是队列中可能都是 0,所以每次都要将一个正数放入队列当中const int N=2e5+5; int n,m; int i,j,k; int a[N];int main(){ int x,y; while(~s...原创 2021-03-10 09:33:20 · 156 阅读 · 0 评论 -
Vasya and Books
Vasya has got n books, numbered from 1 to n, arranged in a stack. The topmost book has number a1, the next one — a2, and so on. The book at the bottom of the stack has number an. All numbers are di...原创 2020-05-07 08:48:27 · 246 阅读 · 0 评论 -
1356:计算(calc)
【题目描述】 小明在你的帮助下,破密了Ferrari设的密码门,正要往前走,突然又出现了一个密码门,门上有一个算式,其中只有“(”,“)”,“0-9”,“+”,“-”,“*”,“/”,“^”,求出的值就是密码。小明数学学得不好,还需你帮他的忙。(“/”用整数除法) 【输入】 共1行,为一个算式。 【输出】 共1行,就是密码。 【输入样例】...原创 2020-04-03 10:09:10 · 1948 阅读 · 0 评论 -
1362:家庭问题(family)(并查集)
有n个人,编号为1,2,……n,另外还知道存在K个关系。一个关系的表达为二元组(α,β)形式,表示α,β为同一家庭的成员。 当n,k和k个关系给出之后,求出其中共有多少个家庭、最大的家庭中有多少人? 例如:n=6,k=3,三个关系为(1,2),(1,3),(4,5) 此时,6个人组成三个家庭,即:{1,2,3}为一个家庭,{4,5}为一个家庭,{6}单独为一个家庭,...原创 2020-04-02 11:03:49 · 2091 阅读 · 2 评论 -
1361:产生数(Produce)
【题目描述】 给出一个整数n(n≤2000)和k个变换规则(k≤15)。规则: ① 1个数字可以变换成另1个数字; ② 规则中,右边的数字不能为零。 例如:n=234,k=2规则为 2 → 5 3 → 6 上面的整数234经过变换后可能产生出的整数为(包括原数)234,534,264,564共4种不同的产生数。 求经过任意次的...原创 2020-03-31 14:10:00 · 805 阅读 · 0 评论 -
1360:奇怪的电梯(lift)
【题目描述】 大楼的每一层楼都可以停电梯,而且第i层楼(1≤i≤N)上有一个数字Ki(0≤=Ki≤=N)。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如:3 3 1 2 5代表了Ki(K1=3,K2=3,……),从一楼开始。在一楼,按“上”可以到4楼,按“下”是不起作用的,因为没有−2楼。那么,从A楼到B楼至...原创 2020-03-30 18:54:26 · 942 阅读 · 0 评论 -
1335:连通块
【题目描述】 一个n * m的方格图,一些格子被涂成了黑色,在方格图中被标为1,白色格子标为0。问有多少个四连通的黑色格子连通块。四连通的黑色格子连通块指的是一片由黑色格子组成的区域,其中的每个黑色格子能通过四连通的走法(上下左右),只走黑色格子,到达该联通块中的其它黑色格子。 【输入】 第一行两个整数n,m(1≤n,m≤100),表示一个n * m的方格图。 ...原创 2020-03-30 17:28:34 · 675 阅读 · 0 评论 -
1333:Blah数集
【题目描述】 大数学家高斯小时候偶然间发现一种有趣的自然数集合Blah,对于以a为基的集合Ba定义如下: (1)a是集合Ba的基,且a是Ba的第一个元素; (2)如果x在集合Ba中,则2x+1和3x+1也都在集合Ba中; (3)没有其他元素在集合Ba中了。 现在小高斯想知道如果将集合Ba中元素按照升序排列,第N个元素会是多少? 【输入】 ...原创 2020-03-29 16:51:25 · 562 阅读 · 0 评论