cf-codeforces codeforces round 909

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

Educational Codeforces Round 147 (Rated for Div. 2)

题目链接 B 核心思路 真的需要加强了,看到这个最大值和最小值我们其实也需要往对应的最大值和最小值的相关操作去想,不如前缀最小值/前缀最大值或者是后缀最小值/后缀最大值。 这里一个比较直接的想法就是想找到不同的地方,然后看不可以扩展。那么怎么看是否可以扩展呢,如果是左边的话,就看当前的位置是不是小于 ......
Educational Codeforces Round Rated 147

Educational Codeforces Round 127 (Rated for Div. 2)

题目链接 D 核心思路 首先挖掘下操作的性质吧: x>1&&x+3<10: 1 x x+1 x+2 x+3 10 我们可以发现这样子好像对于我们的结果是没有影响的,答案还是9. 所以这个性质就挖掘出来了啊,只要我们把一段连续的插入到对应的区间里面就好了。也就是只要这个区间的左端点小于插入连续的数的最 ......
Educational Codeforces Round Rated 127

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 ......
Codeforces 记忆 Turtle Round Beta

内置函数round() 用于数字的四舍五入

内置函数: round() 用于数字的四舍五入round(5.214,2) #结果是 5.21 四舍五入规则: 要求保留位数的后一位<=4,则进位,如round(5.214,2)保留小数点后两位,结果是 5.21要求保留位数的后一位“=5”,且该位数后面没有数字,则不进位,如round(5.215, ......
函数 数字 round

Educational Codeforces Round 147 (A-D)

#A. Matching 橘子熊:这题太简单了我不想写 ##题面 Description 给定给一个带问号的字符串,求有多少种可能的数字 Input 多次询问,一次一个字符串 Output 对于每次询问,输出可能的数字的总数 数据范围与约定 2e5次询问,单词询问不超过5个字符 ##思路 主要思路 ......
Educational Codeforces Round 147 A-D

Educational Codeforces Round 39 (Rated for Div. 2) -- D. Timetable (DP)

写得很折磨人,每次dp都写个一个多小时,写出来明明觉得不难 ^.^ 题目大意:可以进行K次操作,把删除1,进行k次操作后每行第一个 1 和最后一个 1 的位置 相减的绝对值加 1 得到的结果最小。 做法:每次肯定是要从左删或者从右边删,然后顺着这个思路,先把每行的进行小于等于k次操作时, 每行最小的 ......
Educational Codeforces Timetable Round Rated

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') ......
题解 Educational Codeforces Round Rated

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 ......
Contest Spring Round Trial 2023

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 ......
Contest Spring Round Trial 2023

Quasi Binary---codeforces

# Quasi Binary ## 题面翻译 **题目描述** 给出一个数n,你需要将n写成若干个数的和,其中每个数的十进制表示中仅包含0和1。 问最少需要多少个数 **输入输出格式** 输入格式: 一行 一个数 n(1≤n≤10^6) 输出格式: 最少的数的个数,并给出一种方案。 ## 题目描述 ......
codeforces Binary Quasi

Codeforces Round 866 (Div. 2)(A~C)

A. Yura's New Name 题意 在字符串$s$中添加 "" 或者 "^",使得$s$中的任意字符都必须为 "^^" 或者 "^^" 的一部分,求最少要添加的字符数量 思路 当字符串头部为 "_" 时,一定要在前面添加1个字符 "^" 当字符串尾部为 "_" 时,一定要在后面添加1个字符 ......
Codeforces Round 866 Div

Educational Codeforces Round 110 (Rated for Div. 2)

题目链接 C 核心思路 这个题目其实我们可以转换为把当前串转换为完美串有多少种方案呢,也就是我们从前往后一步一步往完美串去构造我们的方案。 这个思路非常巧妙,我刚开始的思路局限于算贡献去了。 完全就脱离了正确的思路。 集合定义 $f[i][0/1]表示的是处理了前i个位置,并且当前位置是0的方案数$ ......
Educational Codeforces Round Rated 110

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 模型

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)); //向下取 ......
Math round floor ceil

codeforces #864 div2 B

GCD Partition 这道题首先要解决一个问题,要把区间分成几块,可以证明分成两块是更优 首先我们假设把区间分成了m(>= 2)块 b1, b2, b3, ...,bm,则答案是gcd(b1, b2, b3,..., bm),则b1,b2是 gcd(b1, b2, b3,..., bm)的倍数 ......
codeforces div2 864 div

Educational Codeforces Round 147 (Rated for Div. 2) A ~ C

A. Matching 题意:   给定一个字符串,将其中的 ‘?’ 替换成数字,不含前导0,如果字符串前导为0,输出0.。 分析:   每个地方有10种可能方案,在特判一下第一位就行了。 ......
Educational Codeforces Round Rated 147

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 Rated 147

C. Python Indentation CF909C--(dp)

#根据题目,又是求方案数的题目,先找到联系,熟悉规则; 看数据就猜是二维DP,题目分为不同字符 'f', 's'. ‘f’根据规则需要缩进一格,‘s’就是简单的输出一行。 所以根据题意:往前一格想,就设思想为:在第i格时有几格缩进的方案数,用f[i, j]表示。 当第i - 1格是‘f’时, 没办法 ......
Indentation Python 909 CF dp

[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$ ......
Codeforces Sequences 原理 Unusual 900

练习记录-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 ......
Codeforces Directed Without Round Graph

Educational Codeforces Round 132 (Rated for Div. 2)

题目链接 C 核心思路 这个题目有点经典,对于括号需要肯定第一个想法是想到栈。然后看有多少可以匹配。这里我们也照样采用栈的一个思考方式。 也就是使用$s1$来记录左括号减去右括号的数量,其实也就是已经匹配了的括号的数量。然后$s2$表示的是还不可以确定的问号的数量。 但是有一个边界:那就是)这样是不 ......
Educational Codeforces Round Rated 132

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这样的形式。** * ......
线段 Round Codeforces Monsters version

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 Rated Div

Educational Codeforces Round 113 (Rated for Div. 2)

题目链接 B 核心思路 这个题目我觉得很好。 首先分析下吧,如果有人需要执行操作二那么我们肯定就是给他们都打上平局是最优的。 那么如果有人需要执行操作一呢,那么我们就可以把这些需要执行操作1的都搞一起。然后是他们成一个环。这样肯定就保证了每个人都会赢上一次。 C 核心思路 这个题目的性质其实就是我们 ......
Educational Codeforces Round Rated 113

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 Round 866 Div

Codeforces Dp

Zero Remainder Sum 采用辅助数组 $ ndp[m + 1][\frac{m}{2}][k] $ 来求出每一行中在当前第 $ i $ 列,取了 $ j $ 个物品,总和模 $ k $ 的余数是 $ t $ 的最大和是多少。用 $ dp[n + 1][k] $ 来转移每一行的状态。 # ......
Codeforces Dp