随笔分类 - 题解-codeforces
摘要:按解决顺序排列 目录FAIDHECKJGB F 二分答案ans,放最小的前ans个bi(变成必须放完) 因为bi=2^k,所以小的放了可能会拆散大的空间,大的把小的地方占了的话小的可以塞其他地方,所以先放大的 然后暴力能放则放,最多log次指针回到开头 所以一次求解O(nlogn),总复杂度log^
阅读全文
摘要:题目描述 n个人,每个人的初始分数不同(具体分数未知) 有m次已知的Revue(按顺序发生),每次Revue形式为(x,y),意为x打败y,之后x的分变成二者max,y变成min 现在你要按顺序在最后加入w次Revue,要保证 在所有m+w次Revue中删掉任意k(k给出)次Revue后 的 所有初
阅读全文
摘要:题目 题解 题目给了很重要的性质,就是保证询问的[l,r]是合法括号串(没有的话可能要莫队+二分找?) 假设给出的s串是合法括号序,按照树转括号序的方法逆向转成树,用左括号下标作为树上点的标号 例如 ()(()()) ,则有root-1, root-3, 3-4, 3-6,方法是维护左括号的栈,加入
阅读全文
摘要:题面 题解 注意a[u]是点u位置的a,不是每选一个点然后把非标记个数丢进vector里( 每选择一个点,相当于把相邻的非标记的边标为外向,最后一个点u的外向边个数就是a[u] 又观察发现每种边定向方案都可以构造(拓扑),所以一共有2^(n-1)种方案 设f[k]表示gcd=k,g[k]表示k|gc
阅读全文
摘要:题意 题解 设f[i,j]表示(i,j)先手必胜/必败 则全局max一定必败,因为先手走出去后手走回来,重复无限次后必输 然后全局max外(距离>k)的必胜,因为可以走到全局max 之后可以发现,下一个必败的是全局max范围内的次max,因为次max不能①走出全局max范围 ②走到全局max ③走到
阅读全文
摘要:大意 给出底层高度,用1*2的砖块将总形状铺成等高矩形,使得高度最小(不能放在外面) 题解 奇妙做法 当高度同奇偶时显然x可以的话x+2也可以,直接加一层竖的,所以首先分奇偶二分高度 有解的必要条件1是,把矩形黑白方格染色之后未填的黑=白(一个1*2刚好覆盖1黑1白) 然后从左往右放砖块,可以感受一
阅读全文
摘要:# 题目大意 有一个n\*m的网格图,需要在每个格子内部填入A~C,要求满足: ① 每个2\*2的小方格都要有ABC ② 边相邻格子内字母不同 给出初始若干格子相同(满足角相邻)的限制,判断是否存在合法解 2 #define fo(a,b,c) for (a=b; a=c; a--) #define
阅读全文
摘要:# 题目大意 给出一个数列ai,每次可以选择**一个区间**[l,r]进行**全体+1**或**全体-1**,需要满足**区间长度len=r-l+1为奇质数p**,且操作过程中ai非负 求最少操作次数使得最终ai不减 n=0;设a[n+1]=b[n]=+inf,a[0]=0,b[0]=a[1] 发现
阅读全文
摘要:# 题目大意 给出数列p[i],求**最小的x**使得 保证lcm(p[i]) using namespace std; typedef long long LL; const int N=10001000; int n; int prime[N
阅读全文
摘要:# 题目大意 构造一个01网格图,1能走0不能走 使得从左上走到右下(只能走右或走下)的方案数恰好为x n=当前p[i]就减p[i],a[i]+1(也类似**进制转换**) (也可以理解成让**ai尽量小**,所以一次**减的数尽量大**,每次**减最大的能减的数** # code ```cpp #
阅读全文
摘要:# 题目大意 给出一个有向图,有k条特殊边,每条边每次询问指定容量 求每次询问的最大流 n,m #define fo(a,b,c) for (a=b; a=c; a--) #define Min(a,b) a=min(a,b) #define Max(a,b) a=max(a,b) #define
阅读全文
摘要:给定一个矩阵,构造一个矩阵,使得它满足 两个矩阵每行最大值构成的集合相同 两个矩阵每列最大值构成的集合相同 构造的矩阵每行单峰 构造的矩阵每列单峰 简单构造题 待更
阅读全文
摘要:待更
阅读全文
摘要:题意 给出n个物品,第i个重量a[i](互不相同) 每次任意选一个物品放到秤的左右两边,使得放完之后 左>右 或 左<右 给出a[i] 和 大小关系s[i],构造方案 题解 必定有解 把a排序,假设当前选了LRLRLR,发现在最后加L可以瞬间反转,在最前加R可以保持不变 即,当前选了一段连续的a[i
阅读全文
摘要:一开始想给i只加一条ai的链,然后发现不太对,取中点取到非原树上的点,并且还要特判u=v 然后~~看题解~~发现加两条链就都解决了 然后变成动态直径问题: https://blog.csdn.net/weixin_62887323/article/details/128667759 大概是求出欧拉序
阅读全文
摘要:题意: 给出sa数组和height数组,构造一个字典序最小的满足条件的字符串 变式:条件变为 给出sa和马拉车的匹配数组 做法类似,先通过height/匹配数组求出 哪些位置相同/不同(连边),然后构造 构造的话按照排好序的后缀来构造,每次放首字母(即按照sa[i]按顺序放,i=1→n) 如果出现强
阅读全文
摘要:来源:ec final2018(gym102056) E,化简之后的问题 问题:给出n个位置,每个位置可以填+1-1,求多少种方案使得前缀和>=x(不要求最后为0) 一般来说可以枚举最后的和(最终位置),然后容斥变成①任意-②必定穿过x碰到x-1这条线,画出折线然后翻折第一次碰到x-1之后的部分,这
阅读全文