ACM
qq_2456160268
这个作者很懒,什么都没留下…
展开
-
Even Degree
传送门题意:给你一个n个点m条边的图,保证点的度数全为偶数,如果边连接的两点度数全为奇数,你不能删除这条边,其他情况都能删除,问你最多可以删除几条边,输出删除顺序。题解:由欧拉回路定义可知,图上的联通块一定是欧拉回路,奇数点为2的联通块也可以是欧拉回路,那么此时就有一个大胆的猜想:在原图的联通块中去除一条边后也是满足欧拉回路定义的图,那么对于每一个联通块,保留一条边后,其余边都是可以删除的,而且保留边是任意一条。也可以理解为你一直删除到最后一条边后,它连接的的点度数一定是1,那么肯定是不可删除的。然原创 2020-10-14 12:07:04 · 363 阅读 · 0 评论 -
Controversial Rounds
传送门题意:给你一个长度为你的由0,1,?构成的字符串,你可以选择将?改成0或1,问你构成连续i个的0或1,问你最大能构成多少个,i取1到n。题解:首先对于每一位置维护出从当前位置往后最多能有多少个连续的0或者1,这一步分可以从前往后dp转移。考虑最暴力的做法,对于每一个i从往后长度大于i的里面选一个大于当前位置的最小id出来,如果能找到ans++,更新当前位置,否则跳出,复杂度n^2,然后考虑优化,后面寻找的过程可以用线段树来进行优化,对于后面查满足条件的最小id在线段树中实际就是大于等于当前区间原创 2020-08-17 21:43:44 · 173 阅读 · 0 评论 -
2020牛客多校第五场H
题意:给你n个数,每次询问一个区间,问询问区间的子区间数取&去重后一个有多少个,强制在线题解:首先由与是&操作,那么对于第i个位置,不管是往左还是往右取&都是一个不增区间,具有单调性了,那么我们其实是可以通过二分来求得对于第i个位置,它往一个方向取&后会在哪些地方改变,如果可以离线那么这道题就可以和REQ这道题类似的做法,但是本题强制在线,而且询问是区间询问可以考虑用主席树来进行维护,大体思路与REQ类似,对于每一个取&后的数,如果是第一次出现那就在对应时间戳的对原创 2020-07-31 11:03:23 · 194 阅读 · 0 评论 -
2020牛客多校第二场G
https://ac.nowcoder.com/acm/contest/5667/G题意:给你两个序列,问你从第一个序列中有多少个与第二个序列长度相同的并且对应位置都是大于等于第二个序列的子串。题解: 神仙bitset题,维护第二个序列的bitset,例如样例中的 2 3 3,按照大小排序后维护的m个bitset为:0100,0110,0111,,样例中的数据维护的bitset不是很好理解,在举一个例子比如:2 4 5 3 6,按照大小排序后的m个bitset为:010000,010010,0110原创 2020-07-29 21:38:30 · 118 阅读 · 0 评论 -
棋盘游戏 51Nod - 1327
题解:在放置棋子时仅仅要求左右满足条件与n的顺序无关,考虑一个二维dp数组,dp[i][j]代表放到了第i列还有j列没有放棋子,但是这个二维dp没有维护右限的信息,所以考虑增加一维代表有多少行到达了右限但没有棋子,将l和r区间的限制统计,可以得到dp转移方程:dp[a+1][b+1-l[a+1]][c+r[a+1]]+=dp[a][b][c]*sum[b+1][l[a+1]]%mod;枚举到当第i列,有l[i]行必须要放左区间了,从空的列中选择放入当前列不放入,同时加上到达右限的区间d.原创 2020-07-13 17:42:57 · 224 阅读 · 0 评论 -
F. Strange Function(Educational Codeforces Round 85 (Rated for Div. 2))
传送门题意:给两个数组ai和bi,删除ai中元素需要花费pi的代价,bi是一个严格递增序列,问你将ai删为bi的最小1花费代价。题解:开一个dp数组代表bi匹配到当前位的最小代价,由于bi是一个严格递增序列,所以ai对应唯一一个bi的匹配位置,所以用dp降为一维,dp[k]由dp[k-1]推出,即删除大于bi[k-1]的数,同时由于要求最小代价所以还应将小于等于bi[k-1]的负数也删除,...原创 2020-04-19 22:49:27 · 208 阅读 · 0 评论 -
P2664 树上游戏(点分治)
传送门题意:给你一颗N个节点的树,每个节点有一个颜色,让你求式子的值。题解:挂着点分治里面的练习题,其他的与点分治差不多,只是中间的维护不同,根据题意它两个点只间的值是路径是不同颜色的数量,划分分治中点后,路径被分为经过中点的和没有经过中点的路径,没有经过中点的路径是子问题,处理相同,考虑经过中点的路径怎么统计答案,首先通过一次dfs是可以统计出经过当前分治中点的路径的不同颜色和,以及每个...原创 2020-01-18 20:52:34 · 131 阅读 · 0 评论 -
Educational Codeforces Round 80 (D、E题解)
D. Minimax Problem传送门题意:给你一个n*m的矩阵,让你从中选出俩行合并为新的行,定义新行的值为俩行对于列中较大的,让你最大化新行的最小值,问你方案1是什么。题解:虽然n很大,但是m是小于等于8的,一维很小的情况很容易就能想到状态压缩,但是如果是状态压缩,那对于状态的定义又是什么呢,状态压缩一般为二进制压缩,只有两种状态,对于1e9范围的数,如果用两种状态来表示一个数...原创 2020-01-15 14:11:32 · 196 阅读 · 0 评论 -
codeforces 1285E Delete a Segment(线段树)
传送门题意:给你n个线段,线段有交点被看做同一线段,问你删除一条线段后形成的新线段的数量最大为多少?题解:题解是用扫描线写的,看不懂,提供一个线段树的做法,不过常数有点大。首先由于端点范围需要将端点离散化,同时由于线段可以是一个点,所以需要在相邻俩点拆一个点作为边,那么将所有线段加入后,你如果选择将一条线段删除,那么这条线段造成的影响就是它覆盖的区间中只被它有条线段覆盖的段数合,因为只有当...原创 2020-01-12 09:35:13 · 259 阅读 · 0 评论 -
Russian Dolls on the Christmas Tree(主席树)
传送门题意:给你一颗树,每个节点都有一个标号,问你将一个节点所有子节点及其本身的标号连接能形成几段。题解:大多是用线段树合并写的,所以补一发主席树的做法。将树用dfs序hash下来后,对于每一个节点,我们可以得知如果当前节点的前继在当前掌控的范围那么段数会减少一,即当前节点可以和子树中的节点合并为一段,那么问题就转化为对于当前节点掌控的子树,子节点中有多少节点的前驱在掌控范围中,这个就是主...原创 2020-07-29 21:05:36 · 462 阅读 · 0 评论 -
New Year and Conference(线段树)
传送门题意:给你n组有俩个区间段A和B的数据,问你是否A相交时B也相交或者都不相交。题解:将端点离散化后按A左端点排序,另开一个数组按A右端点排序,按左端点将A加入,通过第二个结构体将A删除,同时对应增加或删除B区间,那么当前留下的A区间都是相交的,同时用线段树维护被B区间最多的覆盖次数,那么每次删除时,留下的A区间数等于B的最大覆盖数,然后反转AB区间在处理一次就可以得到答案,复杂度O(...原创 2020-01-09 10:14:11 · 154 阅读 · 0 评论 -
1-2-K Game
传送门题意:给你两个数,分别是n和k,每次操作你可以将n-1或者n-2或者n-k,谁不能再次进行操作就输了;题解:首先考虑当n<k时,由sg函数易知当n%3==0时,是先手1必败态,然后当n==k时可以一次去完为先手必胜,当n>k时,对于之后的数后继状态就会增加一个n-k,但是当k%3!=0时,对当前状态没有影响,当前状态是3的倍数时,新增加的状态必不可能是0,所以当前还是先手...原创 2019-07-16 19:18:42 · 147 阅读 · 0 评论 -
No More Tic-tac-toe
传送门题解:题目要求X不能相邻,O不能相邻,对于1个1*N的棋盘,会由X或者O分割成几个部分,每个部分的sg异或合就是最后答案,对于每个部分它的sg都会被左右的X合O所影响,但是有于N很小,可以直接预处理出来当前有几个可选位置时左右分别是X或者O在或者就是边界(也就是-1和len位置)时的sg函数值,求sg函数:m['X']=1; m['O']=2; memset(f...原创 2019-07-10 15:28:40 · 172 阅读 · 0 评论 -
Tokitsukaze and Duel
传送门题意:给你一个n和k,在给你一个由0和1构成的长度为n的字符串,每次操作你可以选择一个长度为k的连续子串,然后将其改变成相同颜色,先将字符串改成相同颜色的人获胜题解:当n<=k+1时,先手可以直接翻折成同一颜色,属于先手必胜,对于n>2*k时,如果先手不能通过一次操作取得胜利,那之后就不会有人获胜,因为如果先手不能一次取得胜利,那至少需要两步获胜,当n>2*k时,先...原创 2019-07-16 19:46:54 · 154 阅读 · 0 评论 -
Game of Hyper Knights
传送门题解:每一个棋子可以跳8个位置,对于位置它的所有后继状态就是跳了8个方向后的局势,到达必败态后就可以求出之前的sg函数,对于一个500的棋盘预处理打表即可AC代码:#include<stdio.h>#include<algorithm>#include<iostream>#include<string.h>#define ...原创 2019-07-10 15:16:42 · 93 阅读 · 0 评论 -
Longest Subarray(hdu-6602)
传送门题意:给你一个长度为n的序列,序列中元素的值不会超过c,问你满足区间中的每个数都出现至少了K次的最长区间的长度题解:一个玄学复杂度的做法,开一个vector记录每种权值的位置,枚举右端点,如果右端点满足条件,就可以初步确定一个区间,在判断在这个区间里面的数需要满足出现k次的最小位置k1,如果k1存在且小于l,就递归处理[k1,l],如果大于等于就直接计算长度,那么就可以求出以当前端点...原创 2019-08-28 20:32:28 · 162 阅读 · 0 评论 -
Again Stone Game (打表)
传送门题解:打表可得到偶数是的sg函数等于其本身的一半,然后考虑奇数时,由于每次取不超过1/2,则奇数n的后继状态相对于前一个偶数少了偶数1/2的状态,由于偶数的sg为其本身的1/2,则奇数的sg就是sg[n/2];AC代码:#include<stdio.h>#include<algorithm>#include<iostream>#defi...原创 2019-07-10 15:12:14 · 167 阅读 · 0 评论 -
Guess the number (HDU - 5981 )
传送门题意:给你一个区间[a,b],让你去猜一个数X,每次可以从区间中选择一个数Y,它会告诉你Y和X的大小关系,如果小于X,它会直接告诉你猜的数小了,如果等于,那么游戏结束,如果大于了X,它只会在第一次给你信息,在这之后,它只会告诉你猜的数是否等于X,让你求最坏情况下,它需要的最小猜测步数和最小猜测步数下的方案数;题解:1.这个问题很显然与区间位置无关,只与区间长度有关;2.考虑下...原创 2019-08-14 09:40:03 · 229 阅读 · 0 评论 -
Aninteresting game HDU - 5975
传送门题意:给你一个n和q,代表区间长度和操作次数,操作有两种:1 l r 查询[l,r]的[i-lowbit(i)+1,i]的合(l<=i<=r), 2 l 查询有好多个数满足i-lowbit(i)+1<=l<=i-1(i<=n);题解:1.对于第一种操作,如果不考虑n的范围就是一个nlogn的傻逼题,但是n的范围是[1,1e18],所以基本是O(1)或...原创 2019-08-14 10:20:14 · 100 阅读 · 0 评论 -
P4121 [WC2005]双面棋盘(线段树+并查集)
传送门题意:给你一个棋盘,棋盘格子有颜色,每次都会单点修改,问你修改后的白色和黑色联通块的数量。题解:并查集是可以用来求联通块数量的,如果没有修改就是一个简单的带权并查集,但是由于有修改并且在棋盘上,所以如果只是并查集是不足以完成的,然后注意题目限制1≤n≤200,而且每次只是单点修改,修改直接影响的只有当前列(将棋盘按列分割开)对于其他列是没有影响的,然后就只会在相邻行合并时产生影...原创 2019-08-20 15:55:14 · 188 阅读 · 0 评论 -
P2839 [国家集训队]middle(主席树)
传送门题意:给你一个数组,每次询问给你两个区间,问你从两个区间中各自确定一个端点形成一个区间,所有的区间中排序后中位数最大是多少,强制在线题解:对于一个数如果可能是当前区间的中点,那么区间中比它小的数的数量必定小于区间长度的一半,如果将区间中小于当前的数赋值为-1,大于等于的数赋值为1,则可以转变为区间的值是大于等于0的,由于要求求最大,可以直接二分答案,将求值问题转变为判定性问题,则如果...原创 2019-08-20 16:21:34 · 126 阅读 · 0 评论 -
堵塞的交通traffic(线段树神题)
传送门题意:有一个2*n的方格,每个方格会与周围的格子连接,最开始路是断开的,给你3种操作,输出询问操作的格子是否连通;题解:线段数神题,也是李超ppt中的例题之一,用线段树维护当前2*len长度的方格的联通性,将方格4个角的联通性与中间格子的联通性记录下来,当前区间的联通性可以由子区间得到,例如:要得到当前区间左上和右下的连通性,可以先看左区间的连通性,在通过中间的方格中转在考录右区间的...原创 2019-08-15 20:59:35 · 786 阅读 · 0 评论 -
CF19D Points(线段树)
传送门题意:有n次操作,每次操作分3种:1 add x y操作,向坐标系的第一象限(包括坐标轴)添加一个点,点的坐标不超过1e9,而且相同的点不会重复添加,2remove x y操作,删掉(x,y)这个点,3find x y操作,找到点(x,y)右上方,x最小的点,如果出现多个选择y最小的点,题解:一种线段树加一丢丢优化的做法,先读入所有操作,先对坐标进行处理,将x乘以1e9,排序离散...原创 2019-09-19 11:20:49 · 320 阅读 · 0 评论 -
String Multiplication
传送门题目:Roman and Denis are on the trip to the programming competition. Since the trip was long, they soon got bored, and hence decided to came up with something. Roman invented a pizza's recipe, wh...原创 2019-02-25 21:01:40 · 403 阅读 · 0 评论 -
Treblecross
传送门题解:题目要求3个X不能相邻,会产生相邻的位置就成了禁区,则X会将其分成很多段,每一段只包含可以下的位置就是其后继状态,预处理出.数目的sg函数,最后将分段后的sg异或就是答案,合法位置就是选了当前位置后局势转变为先手必败AC代码:#include<stdio.h>#include<algorithm>#include<iostream>...原创 2019-07-10 15:06:22 · 111 阅读 · 0 评论 -
Crazy Calendar
传送门题解:离右下顶点距离为偶数的位置对答案没有贡献,距离为奇数的点下一个状态距离必然是偶数点,则局势转变为谁能取走最后一个,nim博弈AC代码:#include<stdio.h>#include<algorithm>#include<iostream>#define ll long longusing namespace std;int...原创 2019-07-10 14:58:42 · 112 阅读 · 0 评论 -
Incredible Chess(博弈)
传送门题解:后退对局势不产生影响,博弈转变成谁能取到最后一个位置,nim博弈模板AC代码:#include<stdio.h>int w[105];int main( ){ int t; scanf("%d",&t); for(int t1=1;t1<=t;t1++){ int n; scanf("%d",&n); for(in...原创 2019-07-10 14:53:58 · 135 阅读 · 0 评论 -
E. Maximize Mex
传送门题目:There arennstudents andmmclubs in a college. The clubs are numbered from11tomm. Each student has a potentialpipiand is a member of the club with indexcici. Initially, each student ...原创 2019-03-26 21:40:41 · 247 阅读 · 0 评论 -
Nastya Hasn't Written a Legend
传送门题目:In this task, Nastya asked us to write a formal statement.An arrayaaof lengthnnand an arraykkof lengthn−1n−1are given. Two types of queries should be processed:increaseaiaibyx...原创 2019-03-22 13:57:50 · 259 阅读 · 0 评论 -
Diana and Liana
传送门题目:At the first holiday in spring, the town Shortriver traditionally conducts a flower festival. Townsfolk wear traditional wreaths during these festivals. Each wreath contains exactlykkflowe...原创 2019-03-07 16:15:22 · 308 阅读 · 0 评论 -
A and B and Interesting Substrings
传送门题目:A and B are preparing themselves for programming contests.After several years of doing sports programming and solving many problems that require calculating all sorts of abstract objects, ...原创 2019-02-27 13:42:31 · 132 阅读 · 0 评论 -
A and B and Lecture Rooms
传送门题目:A and B are preparing themselves for programming contests.The University where A and B study is a set of rooms connected by corridors. Overall, the University has n rooms connected by n - ...原创 2019-02-26 22:12:29 · 170 阅读 · 0 评论 -
Gourmet choice
传送门题目:Mr. Apple, a gourmet, works as editor-in-chief of a gastronomic periodical. He travels around the world, tasting new delights of famous chefs from the most fashionable restaurants. Mr. Apple...原创 2019-02-25 19:21:52 · 229 阅读 · 0 评论 -
Kefa and Dishes CodeForces - 580D
传送门题目:When Kefa came to the restaurant and sat at a table, the waiter immediately brought him the menu. There were n dishes. Kefa knows that he needs exactly m dishes. But at that, he doesn't want...原创 2019-01-25 20:42:49 · 167 阅读 · 0 评论 -
Hie with the Pie POJ - 3311
传送门题目:The Pizazz Pizzeria prides itself in delivering pizzas to its customers as fast as possible. Unfortunately, due to cutbacks, they can afford to hire only one driver to do the deliveries. He ...原创 2019-01-25 20:32:44 · 95 阅读 · 0 评论 -
Doing Homework
题目链接:https://vjudge.net/problem/HDU-1074题目:Ignatius has just come back school from the 30th ACM/ICPC. Now he has a lot of homework to do. Every teacher gives him a deadline of handing in the homewo...原创 2019-01-09 21:02:41 · 120 阅读 · 0 评论 -
REQ CodeForces - 594D
题目链接:传送门题目:Today on a math lesson the teacher told Vovochka that the Euler function of a positive integer φ(n) is an arithmetic function that counts the positive integers less than or equal to n t...原创 2019-01-20 18:09:45 · 215 阅读 · 0 评论 -
2019西北工业大学程序设计创新实践基地春季选拔赛(重现赛) --Chino with Rewrite(树链剖分)
链接:https://ac.nowcoder.com/acm/contest/553/I来源:牛客网Chino的数学很差,因此Cocoa非常担心。这一天,Cocoa准备教Chino如何出题。«Rewrite»是Key社的一款非常好玩的文字冒险游戏,在游戏的背景设定里,かがり需要完成一棵世界树的重构,重写这个世界。这很像出题呢,一开始只有几个零星的idea,慢慢地把它们组织到一起,变成...原创 2019-04-10 14:07:11 · 182 阅读 · 0 评论 -
bzoj 3674(可持久化并查集)
传送门题解:一道可持久化并查集的裸题,板子子对了就能过;可持久化并查集是基于主席数的一种结构,可持久化并查集要求能够访问历史版本,跟主席树很像,所以可以通过主席树维护普通并查集的fa数组,但是由于用主席树维护后没有办法用路径压缩,所以需要采用新的合并方式——启发式合并,对每一个节点增加一个level,每次合并从小的指向大的,如果合并的两个节点的level相等,则合并后的节点的level需要...原创 2019-04-17 22:00:20 · 157 阅读 · 0 评论 -
Game of CS
传送门https://vjudge.net/problem/LightOJ-1355题解:树博弈变种,偶数权值没有贡献,只有奇数权值产生贡献,特判1的情况AC代码:#include<stdio.h>#include<vector>#include<string.h>#include<algorithm>#include<i...原创 2019-07-10 14:50:45 · 138 阅读 · 0 评论