随笔分类 - 构造
摘要:题目描述 n个人,每个人的初始分数不同(具体分数未知) 有m次已知的Revue(按顺序发生),每次Revue形式为(x,y),意为x打败y,之后x的分变成二者max,y变成min 现在你要按顺序在最后加入w次Revue,要保证 在所有m+w次Revue中删掉任意k(k给出)次Revue后 的 所有初
阅读全文
摘要:a 倒推,每次删掉最后一个b[i]=i的即可 b 一开始发现可以构造完全二分图,使两边和同为S,这样每个点的和=对面二分图点的和=S,然后n=6和为奇数 进一步发现可以直接分成A组组内和为B的组,然后组之间连边,此时S=(A-1)B,有AB=n(n+1)/2 当n为奇数时取A=(n+1)/2,B=n
阅读全文
摘要:题意 题解 设f[i,j]表示(i,j)先手必胜/必败 则全局max一定必败,因为先手走出去后手走回来,重复无限次后必输 然后全局max外(距离>k)的必胜,因为可以走到全局max 之后可以发现,下一个必败的是全局max范围内的次max,因为次max不能①走出全局max范围 ②走到全局max ③走到
阅读全文
摘要:# 题目大意 有一个n\*m的网格图,需要在每个格子内部填入A~C,要求满足: ① 每个2\*2的小方格都要有ABC ② 边相邻格子内字母不同 给出初始若干格子相同(满足角相邻)的限制,判断是否存在合法解 2 #define fo(a,b,c) for (a=b; a=c; a--) #define
阅读全文
摘要:# 题目大意 构造一个01网格图,1能走0不能走 使得从左上走到右下(只能走右或走下)的方案数恰好为x n=当前p[i]就减p[i],a[i]+1(也类似**进制转换**) (也可以理解成让**ai尽量小**,所以一次**减的数尽量大**,每次**减最大的能减的数** # code ```cpp #
阅读全文
摘要:官方题解: https://blog.csdn.net/qq_62464995/article/details/127493921 # 题目大意 给出数组a[i],将a分成两个数组x和y,使得都相等() 构造一组最大的方案 n
阅读全文
摘要:官方题解:https://blog.csdn.net/qq_62464995/article/details/127493921 # 题目大意 给出一棵边权为1的树,构造排列p,使得 ①p[1]=1 ②dis(p[i],p[i+1])=3时,一定有解,考虑构造: 把树上的点**按层黑白黑白染色**,
阅读全文
摘要:给定一个矩阵,构造一个矩阵,使得它满足 两个矩阵每行最大值构成的集合相同 两个矩阵每列最大值构成的集合相同 构造的矩阵每行单峰 构造的矩阵每列单峰 简单构造题 待更
阅读全文
摘要:题意 给出n个物品,第i个重量a[i](互不相同) 每次任意选一个物品放到秤的左右两边,使得放完之后 左>右 或 左<右 给出a[i] 和 大小关系s[i],构造方案 题解 必定有解 把a排序,假设当前选了LRLRLR,发现在最后加L可以瞬间反转,在最前加R可以保持不变 即,当前选了一段连续的a[i
阅读全文
摘要:题意: 给出sa数组和height数组,构造一个字典序最小的满足条件的字符串 变式:条件变为 给出sa和马拉车的匹配数组 做法类似,先通过height/匹配数组求出 哪些位置相同/不同(连边),然后构造 构造的话按照排好序的后缀来构造,每次放首字母(即按照sa[i]按顺序放,i=1→n) 如果出现强
阅读全文
摘要:一堆的数学和构造题 arc131D - AtArcher 由于区间是对称且向两边递减的,所以有结论: 按x=0分开,两边的点的个数差<=1(如果不是则把多的那边的最后一个移到少的那边,一定更优) 所以可得[0,D-1]中一定有一个,且两边分别是floor(n/2)和ceil(n/2)个 进一步手玩得
阅读全文
摘要:难度D>E>G>F>B>C>A A 当n>=3时都可以先把min换到位置2,然后随便找两个换,直到n=2时换12,输出min 否则n=2时只能直接换,输出a[2] B 我写的是a+b*c,b,c,当然也可以直接a+b+c,b+c,c C 随便找一个不合法的对(i,j)和(i,j+1),则显然要动至少
阅读全文
该文被密码保护。
摘要:题目大意 题解 一开始想dp,然后想不出来直接大力猜结论+胡乱构造 显然答案上界是Σmin(2,边i覆盖次数),手玩样例发现可以构出来且举不出反例 考虑构造,显然需要决策的只有覆盖次数>=2的边,则每次把经过这类边剩余路径最少的那条拿出来,随便找一条经过其的路径定向并更新,这样一定可以构出来,然后发
阅读全文
摘要:题目大意 给出长为n(n是偶数)的01串S,每次可以把一个长度为偶数的前缀翻转,构造至多n+1次操作把串S变成串T或输出无解 n<=4000 题解 讲杂题时并没有给出操作次数限制,所以以为可以乱做,想每次翻到末尾,这样是3/2n次 首先把两个合成一组,如果01+10、00、11的个数不相等就无解 然
阅读全文