随笔分类 -  题解-codeforces

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

点击右上角即可分享
微信分享提示