随笔分类 - [0-1-1] codeforces
每场codeforces补题后题解
摘要:题意 给你一个上界$W$和一系列权值$w_i$,让你找到权值中任意一个或多个的和满足$(W + 1) / 2\leq sum \leq W$ 思路 从大到小贪心。 证明: 假设我贪到了一个这个数本身是满足$(W + 1) / 2\leq sum \leq W$那么我可以直接输出。 假设所有的
阅读全文
摘要:Codeforces Round #680 (Div. 2, based on Moscow Team Olympiad)C. Division 题意 让你找到最大的$x$满足 \[ p_i \% x == 0\\ x \% q_i !=0 \] 思路 分为三类情况: 如果 \(p < q\),那么
阅读全文
摘要:题意 去掉一段连续的区间后累加 思路 枚举每一位的贡献,假设该位没有被删除。 从左到右第$i$位,长度为$n$ 假设删除该位前面连续的区间 \[ \frac{1}{2}*(i-1)*i*str[i]*10^{n-i} \] 在前面任取一段连续的区间可能数为$C_i^2$,乘以$str[i]$的贡献
阅读全文
摘要:题意 根据题给的操作,让你将所有的数字都变为一样的 思路 在$3*n$的操作内我们去构造。 我们将所有的数先加到a[1]上,然后再去分配使每个数相等。 对于$i|a[i]$的可以直接都加到$a[1]$ 对于不能整除的情况可以先给$a[i]+(i-a[i]%i)$,然后再进行操作一 算法的正确性: h
阅读全文
摘要:题意 给你一个长度为n的数组,让你找到以i为长度的子段中都出现的最小的数(必须每个长度为i的子段都出现) 思路 首先观察题目发现$1\leq a[i]\leq n\leq 3*10^5$,也就是说我们可以通过枚举去解决这个问题,让我们考虑枚举每两个相同数字的之间的最大距离,也就是说这个距离范围内可以
阅读全文
摘要:E1 - Weights Division (easy version) 题意 给你n个点和最高费用S,然后给你n-1条边,和每条边的边权。让你求如果可以$w_i:=\frac{2}$,需要最少多少步可以满足$cost\leq S$。 思路 先$dfs$求出每个边的边权和经过每条边的次数。 然后优先
阅读全文
摘要:Codeforces Round #598 (Div. 3) 思路 首先我们可以确定是选择的team长度最长为5,因为如果是6的话我们很可能有更优的选择权,而且当我们倒着弄$i->i+2\quad i->i+3\quad i->i+4$是可以遍历每一种可能的。 在遍历的过程中我们在$minn$数组中
阅读全文
摘要:E - Binary Subsequence Rotation 思路 1.当s串和t串中0/1的数量不一样的时候s是不可能变化到t的。 2.要将s串变为t串那么只有每个字符都相等情况下。为了让s串变为t串且每次操作的贡献最大,那么我们需要的是变换01或者10交替串,因为只有这样才会使我们选择的每个位
阅读全文
摘要:题意 给你一个序列,你能进行k次操作。其中能进行z次向左操作,但是不能进行连续的向左操作。 思路 转移方程是比较容易想出来的 $dp[i][j]$表示在第$i$位时进行$j$次向左操作。 向右: \[ dp[i][j]=max(dp[i][j],dp[i-1][j]+a[j]) \] 向左: \[
阅读全文
摘要:C. Uncle Bogdan and Country Happiness 思路: 第一个判断条件: 设经过某个点的总人数为sum[u],幸福指数h[u],开心的人数good,不开心的人数bad。 \[ good+bad=sum\\good-bad=h \] 根据以上式子我们可以推出 \[ 2*go
阅读全文
摘要:A - FashionabLee 题意 问你一个正n边形,您能否旋转它,让他的某一条边平行于x轴另一条边平行于y轴。 思路 要让他有平行于x轴的边的同时,也有平行于y轴的边。 那么我们只需要让他n边形的360/n是90度的倍数关系即可。画图验证更快。 #include<bits/stdc++.h>
阅读全文
摘要:题目大意: 让你求一个$'a'-good\quad string$,需要注意的是一个$'a'-good\quad string$是有递归定义的,也就是说要让他是一个$'a'-good\quad string$那么一半全是'$'a'\(但是另一半是\)'char+1'-good\quad string
阅读全文
摘要:题目大意 给你$n$个定点$m$条边,这$m$条边中有有向边也有无向边。 当$t=0$时,输入边代表的是无向边。 当$t=1$时,输入的边代表的是$x-y$的有向边。 要你将所有的无向边变为有向边后整个图是无环的(有向无环图)。 思路 有向边时建边而且更新入度,无向边时只存边不更新入度。 然后在拓扑
阅读全文
摘要:思路 题目要求: \[ na+b-c=m \] 我们可以转换为 \[ na-m=c-b \] 然后$c-b$是固定不变的,我们去枚举a,在枚举的a的时候我们发现要使等式尽可能的成立只有让$na-m$的差值绝对值越小越好,然后我们会发现$na$在$m$的左右两侧时,差值绝对值最小。 比如说 \[ 2*
阅读全文
摘要:题目大意 有m种花,要买n朵花,然后每种花可以买无数朵。 每朵花有两个权值$a_i$$,b_i$,第一次买时价值是$a_i$,再次买该种花时价值是$b_i$,要使价值和最大。 思路 先看复杂度,题目要求的是在$n\log n$内算出答案。所以我们应该是有二分的操作。 然后根据题意,我们可以读出可能是
阅读全文
摘要:#include<bits/stdc++.h> #define INF 0x3f3f3f3f #define DOF 0x7f7f7f7f #define endl '\n' #define mem(a,b) memset(a,b,sizeof(a)) #define debug(case,x);
阅读全文
摘要:You've been in love with Coronavirus-chan for a long time, but you didn't know where she lived until now. And just now you found out that she lives in
阅读全文
摘要:题意: 取一字符串不相交的前缀和后缀(可为空)构成最长回文串。 思路: 先从两边取对称的前后缀,之后再取余下字符串较长的回文前缀或后缀。 讲解: 这道题主要是需要考虑的情况太多,比如说只有一个字符的情况下我是用if来判断输出还是用以下这种解法 这个解法的巧妙之处就是在于不用考虑是几个字符,因为在输出
阅读全文
摘要:一:Largest Rectangle in a Histogram[一维单调栈] 题目大意: 求最大矩形面积 收获: 单调栈的应用 stl栈模拟: #include<cstdio> #include<stack> using namespace std; typedef long long ll;
阅读全文
摘要:题目大意: 求贡献,已知公式n*(n+1)/2,求总和 收获: long long的转换技巧只能在乘或除上进行 题目链接 #include<bits/stdc++.h> typedef long long ll; using namespace std; const int N=2e5+10; in
阅读全文

浙公网安备 33010602011771号