codeforces round 894
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 ......
内置函数round() 用于数字的四舍五入
内置函数: round() 用于数字的四舍五入round(5.214,2) #结果是 5.21 四舍五入规则: 要求保留位数的后一位<=4,则进位,如round(5.214,2)保留小数点后两位,结果是 5.21要求保留位数的后一位“=5”,且该位数后面没有数字,则不进位,如round(5.215, ......
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') ......
SMU Spring 2023 Trial Contest Round 9
SMU Spring 2023 Trial Contest Round 9 A - Wrong Subtraction #include<bits/stdc++.h> using namespace std; typedef pair<int,int>PII; typedef pair<string ......
SMU Spring 2023 Trial Contest Round 9
A. Wrong Subtraction #include <bits/stdc++.h> using namespace std; int32_t main() { int n, k; cin >> n >> k; while (k--) { if (n % 10 == 0) n /= 10; e ......
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$ 不降),每次可以向上或向右走一步,不能超出网格边界(即所有经过的点 $( ......
Math.ceil,Math.round,Math.floor区别
Math.ceil,Math.round,Math.floor区别 //向上取整 System.out.println("amt1=" + Math.ceil(71.01)); //四舍五入 System.out.println("amt2=" + Math.round(71.01)); //向下取 ......
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种可能方案,在特判一下第一位就行了。 ......
Educational Codeforces Round 147 (Rated for Div. 2)
Educational Codeforces Round 147 (Rated for Div. 2) 链接 Educational Codeforces Round 147 (Rated for Div. 2) A题 如果第一位数是0,直接打印0 如果第一位数是'?',有9个数可以选择,如果其他位 ......
[Educational Codeforces Round 147 (Rated for Div. 2)](https://codeforc.es/contest/1821)题解A~D
A: 思路: 首字母如果是0,直接输出0。 如果首字母是?,提供九种方案,之后每一个?提供10种方案。 void solve(){ string s; cin>>s; if(s[0]=='0'){ cout<<"0"<<endl; return ; } int ans=1; for(int i=0; ......
Codeforces #900D. Unusual Sequences(容斥原理,dp)
原题链接:https://codeforces.com/contest/900/problem/D 求序列a的个数,满足$\sum_{i=1}^{len}=y$并且$gcd(a_1,a_2...a_{len})=x$ 其中序列的长度不限 答案对$1e9+7$取模 首先可以分析出,当$x$不整除$y$ ......
练习记录-cf-Educational Codeforces Round 147 (A-D)
打的很烂的一场 C想了很久 D的贪心没有贪好 赛后一小时补起来了 谁是nc 我是nc! A. Matching 问有多少种情况能匹配 就计算?的个数 x10x10...... 如果第一个是? 那么就是9x10x10... 如果第一个是0 不能有前导0 就输出0 #include<bits/stdc+ ......
Codeforces Round 550 (Div. 3) F. Graph Without Long Directed Paths(dfs/染色)
https://codeforces.com/contest/1144/problem/F 题目大意: 给定n个点,m条边; 每一条边都连接了两个点。 现在需要我们染色,要求是做到所有有向图不包含长度为2或者更长的路径。 input 6 5 1 5 2 1 1 4 3 1 6 1 output YE ......
Educational Codeforces Round 132 (Rated for Div. 2)
题目链接 C 核心思路 这个题目有点经典,对于括号需要肯定第一个想法是想到栈。然后看有多少可以匹配。这里我们也照样采用栈的一个思考方式。 也就是使用$s1$来记录左括号减去右括号的数量,其实也就是已经匹配了的括号的数量。然后$s2$表示的是还不可以确定的问号的数量。 但是有一个边界:那就是)这样是不 ......
Codeforces Round 850 (Div. 2, based on VK Cup 2022 - Final Round) E. Monsters (hard version) 线段树二分
传送门 详细题解传送门 ** 抄的ygg代码,向在这里说一下刚开始没看懂的部分。** ** 求答案的时候是把所有的当前为止的所有数值加起来减去一个从1开始并且公差为1的等差数列的前size项和。其中size是当前最多能用到哪个位置,满足前size项能构成1,2,3,....,sz这样的形式。** * ......
Educational Codeforces Round 89 (Rated for Div. 2)
题目链接 C 核心思路 我们需要保证任意一个点出发都需要回文,所以我们的斜对角先必须的一致,什么意思呢:看下这个样例把。 1 0 1 0 1 0 1 0 1 比如这种(2,1)和(1,2) 就必须要和(2,3)的和(3,2)的相等。 这个斜对角的点有一个规律就是横纵坐标加起来就是相等的。 比如其中一 ......
Educational Codeforces Round 113 (Rated for Div. 2)
题目链接 B 核心思路 这个题目我觉得很好。 首先分析下吧,如果有人需要执行操作二那么我们肯定就是给他们都打上平局是最优的。 那么如果有人需要执行操作一呢,那么我们就可以把这些需要执行操作1的都搞一起。然后是他们成一个环。这样肯定就保证了每个人都会赢上一次。 C 核心思路 这个题目的性质其实就是我们 ......
Codeforces Round 866 (Div. 2)
A. Yura's New Name 一个简单的 dp,状态是$f[i][0/1]$表示前$i$位变成合法的且最后一位是^或_的最小代价。 如果是_只能从^转移过来,如果是^则都可以转移过来 #include <bits/stdc++.h> using namespace std; void sol ......
Codeforces Dp
Zero Remainder Sum 采用辅助数组 $ ndp[m + 1][\frac{m}{2}][k] $ 来求出每一行中在当前第 $ i $ 列,取了 $ j $ 个物品,总和模 $ k $ 的余数是 $ t $ 的最大和是多少。用 $ dp[n + 1][k] $ 来转移每一行的状态。 # ......