codeforces corollary 1364d ehab
Codeforces Round 854 补题总结
Codeforces Round 854 补题总结 前言 昨天做这套题很不顺,今天补完题大概总结一下。 总结 Recent Actions 按题意模拟即可,考虑到前 $n$ 个数一定始终在后 $m$ 个数的前面,所以说当当前队列中如果没有出现 $x$ 而在第 $i$ 轮放进了 $x$,那么当前在队首 ......
Codeforces Round 868 Div 2
A. A-characteristic (CF 1823 A) 题目大意 要求构造一个仅包含$1$和 $-1$的长度为 $n$的数组 $a$,使得存在 $k$个下标对 $(i, j), i < j$满足 $a_i \times a_j = 1$。 解题思路 当有$x$个 $1$, $y$个 $-1$ ......
Codeforces Round 868 (Div. 2)
Preface 恭迎废物hl666终于回到了他忠诚的蓝名之位 本来这场25min切完前三题而且没挂的时候感觉状态不错的,然后D被自己的一个假做法坑了1h 最后ztc想出了大概的构造方法后已经来不及写了,一些细节没考虑好直接爆炸 本来当时就有弃D开E的想法的,但可以E的题意在公告出来之前就已经读错了, ......
Codeforces Round 868 (Div. 2) A-E题解
比赛地址 这把真不在状态,麻了,看来还得再练 A. A-characteristic 题意:给出n和k,要求构造只含1和-1数组a,存在k对(i,j)(i≠j),有a[i]*a[j]=1 Solution 令构造的数组有x个1和y个-1,那么其对于答案的贡献有 $$ x*(x-1)/2+y*(y-1 ......
Codeforces Round 867 (Div. 3)(A~D)
A. TubeTube Feed 题意 给定时间 $t$ ,每个视频有一个价值 $b_i$,观看一个视频需要 $a_i$ 秒,跳过一个视频需要花费$1s$,求能观看完的价值最大的视频编号 思路 从前到后遍历即可,当 $a_i$ 小于 $t$,并且 $b_i$ 比当前价值 $val$ 大时,更新答案 ......
Codeforces Round 867 (Div. 3)
Codeforces Round 867 (Div. 3) A - TubeTube Feed #include<bits/stdc++.h> using namespace std; typedef pair<int,int>PII; typedef pair<string,int>PSI; co ......
Codeforces Round 866 (Div. 1) C. The Fox and the Complete Tree Traversal (构造)
传送门 题目大意: ** 给定一个有n个点的树,我们可以任意选择一个点作为起点,这个点可以跳到跟自己距离为1或者距离为2的点,已经到达的点不能再到达(最终必须回到起点),询问是否存在一种方案可以从一个点出发经过所有的点最终再回到这个点来。** ** 输入一个整数n。紧接着输入n-1条边。** 大致思 ......
Codeforces Round 847 (Div. 3) G.Tokens on Graph (构造)
传送门 题目大意 ** 给定一个无向图,我们定义图中有四种点,一种是黑色的点表示终点,并且黑色的点始终是1号点,一种是红色的点,一种是灰色的点,最后一种就是没有颜色的点。** ** 游戏规则:我们必须移动任意一个灰色的点到相邻的点上,如果灰色的点移动到了红色的点上,那么我们可以移动其他灰色的点继续上 ......
Codeforces Round 867 (Div. 3)
A. TubeTube Feed #include <bits/stdc++.h> using namespace std; int main() { int q; cin >> q; while (q--) { int n, t, res = -1, id = -1; cin >> n >> t; ......
Educational Codeforces Round 147 (Rated for Div. 2)
Preface 补题 这周比赛挺少,不过后面可能就很少有时间补以前的比赛了的说 现在除了要做学校的集训专题外,还要刷一下蓝桥杯国赛的题,可以说是很忙碌了 而且由于JAVA的期末考试要来了,为了熟悉下语法以后补题的时候前面的题目可能会用JAVA来写(其实我写的JAVA看起来和C++真没啥区别) A. ......
Codeforces 1801G - A task for substrings(ACAM)
首先,显然答案等于 $[1,r]$ 中符合条件的子串个数减去 $[1,l-1]$ 中符合条件的子串个数减去跨 $l-1,l$ 的子串个数。前面两部分的处理是容易的,直接建出 ACAM 然后每加入一个字符就在上面条转移边即可。 考虑怎么处理跨中间的贡献。相当于我们要找 $[1,l-1]$ 的一段后缀与 ......
Codeforces 1781G - Diverse Coloring(构造)
vp 时候想到大致思路了,但是死活调不对,赛后套取 cf 的数据调了好久才过/ll 首先直觉告诉我们答案不会太大。稍微猜一猜可以猜出除了四个点的菊花之外答案都是 $n\bmod 2$,下面我们来通过构造证明这件事情。 首先,链的情况是 trivial 的,直接根据奇偶性间隔染色即可。如果不是链,那么 ......
Educational Codeforces Round 147(A~E)(补提记录)
Educational Codeforces Round 147(Rated for Div. 2) A: 题意: 每个问号都能被替换成0~9,求替换每个问号后所能的到的数的数量 注:所得到的序列不能有前导0 思路:先判断第一位是什么,作为特判,为0,则不能得到任何数输出0,为?则答案×9再依次枚举 ......
Codeforces Round 867 (Div. 3)(A-C)
#A. TubeTube Feed 签到题 ##思路 往后走,每次减一,记录当前所能得到最大的bi ###完整代码 #include<bits/stdc++.h> using namespace std ; #define ll long long inline ll read(){ ll s=0 ......
Codeforces 103446A - Strange Functions(凸包)
首先,根据 $\arctan$ 函数的性质,一个函数在 $x$ 处的取值是所有 $n$ 个函数中最小的,当且仅当 $|k_i\sec(x-a_i)|$ 是所有 $n$ 个函数中最小的。 和差角公式把 $\sec$ 拆开得到 $|\dfrac{k_i}{\cos(x)\cos(a_i)+\sin(x) ......
Codeforces 1804G - Flow Control(势能分析)
成功把这道小清新题做成了一道大数据结构题,我的评价是我是小丑。 首先显然要离散化对时间轴扫描线。这个除以 $2$ 下取整的操作显然启示我们往势能的方向思考,也就是我们希望能够找到某个变量,使得这个变量的均摊变化次数在可接受范围内。但是直接以每个元素的值为势能好像也不太对,因为一次全局除以 $2$ 之 ......
Educational Codeforces Round 147
A 题意 思路 有前导零结果直接为0,出现在第一位的**?贡献为9**,其他地方的**?贡献为10**。 代码 #include<bits/stdc++.h> using namespace std; using ll=long long; char s[10]; int main() { int ......
Educational Codeforces Round 147 (Rated for Div. 2)
题目链接 B 核心思路 真的需要加强了,看到这个最大值和最小值我们其实也需要往对应的最大值和最小值的相关操作去想,不如前缀最小值/前缀最大值或者是后缀最小值/后缀最大值。 这里一个比较直接的想法就是想找到不同的地方,然后看不可以扩展。那么怎么看是否可以扩展呢,如果是左边的话,就看当前的位置是不是小于 ......
Educational Codeforces Round 127 (Rated for Div. 2)
题目链接 D 核心思路 首先挖掘下操作的性质吧: x>1&&x+3<10: 1 x x+1 x+2 x+3 10 我们可以发现这样子好像对于我们的结果是没有影响的,答案还是9. 所以这个性质就挖掘出来了啊,只要我们把一段连续的插入到对应的区间里面就好了。也就是只要这个区间的左端点小于插入连续的数的最 ......
Codeforces Beta Round 96 (Div. 1) -- C. Logo Turtle (dp,记忆化搜索)
#记忆化搜索 就是暴力,多一步优化,走过的路别走了。说实话,可能是数据水了,居然能过。 const int N = 510; string s; int n, ans; bool st[501][501][2][50]; void dfs(int x, int idx, int dir, int k ......
Educational Codeforces Round 147 (A-D)
#A. Matching 橘子熊:这题太简单了我不想写 ##题面 Description 给定给一个带问号的字符串,求有多少种可能的数字 Input 多次询问,一次一个字符串 Output 对于每次询问,输出可能的数字的总数 数据范围与约定 2e5次询问,单词询问不超过5个字符 ##思路 主要思路 ......
Educational Codeforces Round 39 (Rated for Div. 2) -- D. Timetable (DP)
写得很折磨人,每次dp都写个一个多小时,写出来明明觉得不难 ^.^ 题目大意:可以进行K次操作,把删除1,进行k次操作后每行第一个 1 和最后一个 1 的位置 相减的绝对值加 1 得到的结果最小。 做法:每次肯定是要从左删或者从右边删,然后顺着这个思路,先把每行的进行小于等于k次操作时, 每行最小的 ......
Educational Codeforces Round 147 (Rated for Div. 2) A-D题解
A. Matching 题意:给出一个数,数中可能会有?,可以用0-9替换问号,问最后有多少种方法 Solution 对于位于首位的数可以用1-9替换,对于其他位置的额、可以用0-9替换,如果首位为0则无解 void solve() { string s;cin>>s; if(s[0]=='0') ......
Quasi Binary---codeforces
# Quasi Binary ## 题面翻译 **题目描述** 给出一个数n,你需要将n写成若干个数的和,其中每个数的十进制表示中仅包含0和1。 问最少需要多少个数 **输入输出格式** 输入格式: 一行 一个数 n(1≤n≤10^6) 输出格式: 最少的数的个数,并给出一种方案。 ## 题目描述 ......
Codeforces Round 866 (Div. 2)(A~C)
A. Yura's New Name 题意 在字符串$s$中添加 "" 或者 "^",使得$s$中的任意字符都必须为 "^^" 或者 "^^" 的一部分,求最少要添加的字符数量 思路 当字符串头部为 "_" 时,一定要在前面添加1个字符 "^" 当字符串尾部为 "_" 时,一定要在后面添加1个字符 ......
Educational Codeforces Round 110 (Rated for Div. 2)
题目链接 C 核心思路 这个题目其实我们可以转换为把当前串转换为完美串有多少种方案呢,也就是我们从前往后一步一步往完美串去构造我们的方案。 这个思路非常巧妙,我刚开始的思路局限于算贡献去了。 完全就脱离了正确的思路。 集合定义 $f[i][0/1]表示的是处理了前i个位置,并且当前位置是0的方案数$ ......
Codeforces Round 689 (Div. 2, based on Zed Code Competition)D.Divide and Summarize
题意: 我们给定包含n个正整数的数组,我们可以对这个数组执行一些操作之后,可以让数组内元素的和成为我们想要的数。 我们对数组的执行操作一共分为三个步骤,第一个步骤是我们首先计算出数组的中间值mid。这里mid的定义不是中位数也不是均值,而是最大值和最小值的均值。也就是mid = (min + max ......
阶梯网格计数模型 & Codeforces 1770G - Koxia and Bracket 题解
更差的阅读体验(bushi) 其实 2022 年省选前联考出过类似的套路,但当时太鸽了就没有总结。 阶梯网格计数问题是指以下一类问题: 问题:给定一个 $n$ 列阶梯状网格图,第 $i$ 列高度为 $c_i$(保证 $c_i$ 不降),每次可以向上或向右走一步,不能超出网格边界(即所有经过的点 $( ......
codeforces #864 div2 B
GCD Partition 这道题首先要解决一个问题,要把区间分成几块,可以证明分成两块是更优 首先我们假设把区间分成了m(>= 2)块 b1, b2, b3, ...,bm,则答案是gcd(b1, b2, b3,..., bm),则b1,b2是 gcd(b1, b2, b3,..., bm)的倍数 ......
Educational Codeforces Round 147 (Rated for Div. 2) A ~ C
A. Matching
题意:
给定一个字符串,将其中的 ‘?’ 替换成数字,不含前导0,如果字符串前导为0,输出0.。
分析:
每个地方有10种可能方案,在特判一下第一位就行了。 ......