随笔分类 -  题解-codeforces

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