![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
构造
文章平均质量分 59
Demoo.
来记录不会的题啦
展开
-
stack(hdu)
刚开始初始化的时候每个栈的栈顶和栈底都是i本身,然后num都是1,f初始化为0,每个数没有与他相连的数,所以前面后面都是0。题意:有n个栈,第i个栈刚开始只放了i,有m个操作,每次把ai放到bi里,求最后每个栈里元素的个数和元素。s数组用来存一个数的前面相连的数或者后面的数(因为堆的话一个数只能连两个数)然后a的栈顶x就会连上b的栈顶z,判断一下x有没有与他相连的数。我们分别用xyzq来记录a的栈顶和栈底,b的栈顶和栈底。a的num要加到b的num里去,a的num变成0。sta数组用来记录栈顶和栈底元素。原创 2022-09-18 09:58:13 · 177 阅读 · 0 评论 -
C - Submask
比如:有4位,那么我们就令所有状态为op=1原创 2022-09-18 09:21:27 · 248 阅读 · 1 评论 -
C. And Matching
题意:给定一个数n(是二的幂),然后我们把从0~n-1一对一对分,使分出来的每一对的异或和加起来等于m,如果构造不出来输出-1,能的话输出构造的组。但是有一种特殊情况是当n==4,m==3的时候,n-3和1相等,不能匹配,所以直接输出-1了。=n-1的时候,我们能用m&n-1直接得出来m。思路:我们能发现对于任意一个数i,他和n-1-i异或之后是0。然后将本来与m相匹配的n-1-m和本来与n-1匹配的0匹配。我们可以拿n-1和n-2创造出来m-1,然后剩下的数i分别与n-1-i匹配即可。...原创 2022-09-07 10:29:46 · 237 阅读 · 4 评论 -
D. Color with Occurrences Codeforces Round #811 (Div. 3)
题意:给你一个模板串s,再给你n个子串t,求最小能把s覆盖完的需要的t的数量,不能输出-1。思路:先把模板串处理一下,用一个num数组来记录下模板串标为i的地方以i为左端点子串的编号。如果是的话,我们记录一下刚开始的区间的左端点为last=0,区间的个数为flag=1。然后我们再遍历的时候就按区间最小覆盖问题来,注意last表示已经覆盖的区间的左端点。用一个mx数组来记录一下在下标为i的地方,以i为左端点子串能覆盖的最大长度。last+mx[last]-1表示已经覆盖的区间的右端点。...原创 2022-08-03 17:42:24 · 426 阅读 · 0 评论 -
最小区间覆盖问题
给你一段区间1~t,有n个区间,求能覆盖完1~t的区间的最小个数,如果不能覆盖完输出-1例题:poj2376我们先假设已经覆盖了区间a~b,那么我们选择下一个区间的时候,为了保证最贪心的取,肯定会取左端点>=b+1的区间,这样重叠浪费的就少然后我们再按贪心的思想,肯定是右端点越长覆盖的越多那么我们现在开始思考这个问题先按左端点从小到大排序,如果左端点相同的话按右端点从左到右排序然后我们先判断第一个区间如果第一个区间的左端点大于1 的话说明不能覆盖完1~t,直接输出-1否则的话,last表示已经覆盖的区间的下原创 2022-08-03 15:28:51 · 1226 阅读 · 0 评论 -
B. Bit Flipping Codeforces Round #782 (Div. 2)
You are given a binary string of length nn. You have exactly kk moves. In one move, you must select a single bit. The state of all bits except that bit will get flipped (00 becomes 11, 11 becomes 00). You need to output the lexicographically largest string原创 2022-06-25 16:57:52 · 168 阅读 · 0 评论 -
C. Dolce Vita Educational Codeforces Round 127 (Rated for Div. 2)
Turbulent times are coming, so you decided to buy sugar in advance. There are nn shops around that sell sugar: the ii-th shop sells one pack of sugar for aiai coins, but only one pack to one customer each day. So in order to buy several packs, you need to原创 2022-06-25 11:32:11 · 313 阅读 · 0 评论