ICode9

精准搜索请尝试: 精确搜索
  • Educational Codeforces Round 116 (Rated for Div. 2) E. Arena2021-11-01 20:06:52

    E. Arena 题目链接 题目大意: 有n个人,每人有ai点生命值(ai <= k),每次每人会对其他所有人造成1点伤害。 生命值低于1的会死亡,给出 n 和 k ,问有多少种情况会出现场上无人存活 输出答案总数%998244353 2 , 1, 1 和 1 , 1 , 2 被视为两种 思路: 这题直接求好像有点困难, 我们采取

  • Educational Codeforces Round 116 (Rated for Div. 2)2021-11-01 15:02:25

    Educational Codeforces Round 116 (Rated for Div. 2) A - AB Balance 分析: 思维题,只有 a b ab ab 两个字符,可以发现

  • Educational Codeforces Round 116 (CF1606)2021-10-31 02:31:38

    A 2s Problem 给一个'a','b'组成的字符串 \(s\) ,每次修改可以把某个'a'改成'b'或把'b'改成'a',要求修改尽量少的次数使得 \(s\) 中 "ab"和"ba"子串的出现次数相等。输出修改后的 \(s\)。 Solution \(s\) 可以看作由若干"aa...a"和"b

  • Educational Codeforces Round 1162021-10-30 21:07:04

    Link 好! 上分了! 好吧讲正题啦(没切 D 真是太不爽了) A:AB Balance 题意:给出一个只包含 A B 的字符串 \(S\) ,要求用最小的步数使其变成合法。 合法:字符串 \(S\) 所包含的 AB 和 BA 个数相同。 考虑将 AB 视作 +1 , 将 BA 视作 -1 ,那么就是要求整串的和是 0 ,所以 合法 当且仅当 开头

  • Educational CF Round 116 (Rated for Div. 2) C Banknotes2021-10-30 16:03:58

    目录 知识点:贪心,模拟题意思路代码 知识点:贪心,模拟 题目链接 题意 给定 k k k, b i

  • Educational Codeforces Round 116 (Rated for Div. 2)2021-10-30 02:02:03

    Educational Codeforces Round 116 (Rated for Div. 2) A. AB Balance 易得至多改一个位置。 然后枚举改哪个位置,特判不改。 对于一个字符串,每次扫一遍就可以算出ab和ba的个数。 B. Update Files 每一轮最大的增量会是这样变化的:1 2 4 8 ... k k k ... 前面倍增的轮数不会太多,直接

  • Educational Codeforces Round 8 部分题解2021-10-28 07:33:11

    C. Bear and String Distance 简单题,直接从距离范围最宽广的字母开始选,每次贪心选最大的。 const int MAXN = 1e5 + 10; int n, k; char ss[MAXN]; struct E { char s, t; int id; } es[MAXN]; int dist(char x, char y) { return std::abs(x - y); } bool cmp1(E x, E y)

  • Educational Codeforces Round 89 (Rated for Div. 2)---B. Shuffle(1300分)2021-10-22 22:02:01

    题意: 给你一个由n个整数a1, a2, …, an组成的数组。最初ax=1,所有其他元素都等于0。 你必须进行m次操作。在第i次操作中,你选择两个指数c和d,使li≤c,d≤ri,并交换ac和ad。 计算指数k的数量,以便有可能选择操作,使ak=1。 大概就是说通过m次操作,能把哪几个位置换成1,可以看成ax是被

  • Educational Codeforces Round 5 部分题解2021-10-20 08:32:25

    A B 都是垃圾题,不说了。 C. The Labyrinth 和之前做过的某道题相似,用 DFS 确定一下每个位置属于哪个联通块,然后确定一下每个 * 周围有哪几个联通块,去重可以直接 std::set 实现。 const int MAXN = 1000 + 10; int n, m; int gid(int x, int y) { return m * (x - 1) + y; } int

  • Educational Codeforces Round 108 (Rated for Div. 2) C. Berland Regional(思维,枚举)2021-10-17 10:59:30

    (之前写在小号里了,现在大号找回来了,所以再搬回来) 一、算法分析 基本思路就是枚举,还有利用vector的一些小技巧。注意的点是,最后的枚举方式要有一个小优化,不能外层对k进行枚举,如果那样会超时,因为两层循环都是n。而是应该开一个res数组,以组为单位去维护res数组。 二、代码及注释

  • codeforces educational round #1112021-10-15 20:34:15

    link D - Excellent Arrays 我们定义一个长度为 \(n\) 的整数序列 \(a\) 是好的仅当对于任意整数 \(i\in[1,n]\) ,都有 \(a_i\not=i\) 。 设 \(F(a)\) 等于满足 \(1\leq i<j\leq n,a_i+a_j=i+j\) 的 \((i,j)\) 对数。 我们定义一个长度为 \(n\) 的序列 \(a\) 是极好的,仅当: \(a\)

  • Codeforces Educational Round 1142021-10-15 19:34:19

    Codeforces Educational Round 114 A:Regular Bracket Sequences Description 给定 \(n\),构造 \(n\) 个不同的长度为 \(2n\) 的匹配括号序列。 多测。 限制:\(1\le t,n\le 50\) Solution 考虑对每个 \(i\),构造长度为 \(2i\) 的括号匹配序列和长度为 \(2(n-i)\) 的括号匹配序列。对

  • Educational Codeforces Round 3 复盘2021-10-14 22:02:46

    A. USB Driver 脑抽了居然升序排序。。愣了几秒才发现 一遍 AC。 const int MAXN = 100 + 10; int n, aa[MAXN]; int main() { std::ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n; int m; cin >> m; rep (i, 1, n) cin >> aa[i]; st

  • Educational Codeforces Round 115 (Rated for Div. 2)2021-10-12 23:00:37

    B. Groups 思路: 只要找到是否有两天满足条件即可,我们可以这么分析,对于任意的两天,看这n组学生: 一天有课且另一天没课的记为cnt1 一天没课且另一天有课的记为cnt2 两天都有课的记为cnt3 两天都没课的记为cnt4 而两天都有课cnt3的可以放到cnt1中也可以放到cnt2中,我们只要满足cnt1+cnt

  • Educational Codeforces Round 115 (Rated for Div. 2) 部分简要题解2021-10-12 13:00:24

    A 根据题面描述不难发现:若当前在第\(i\)列的某个空格上,只要第\(i+1\)列存在空格,就一定可以跳到这个空格上。只需要判断每行是否有空格子即可。 int n; char s[3][N]; int main() { int T=read(); while (T--) { n=read();int ans=1; rep(i,1,2) scan

  • Educational Codeforces Round 115 (Rated for Div. 2) B题betset暴力解法2021-10-10 23:02:20

    题目链接 题意 对于 n 个长度为 5 的 01字符串, 你需要把这n个字符串分成数量相等的两组。并且在每一组中选择一个位置(0~4总共5个位置),使这一组的字符串在该位置全为 1 ,且两组所选位置不同。 分析 测试案例数 ( 1

  • Educational Codeforces Round 115 (Rated for Div. 2) A-D2021-10-10 23:01:47

    第一题 算法:无 解决方法:暴力 解决思路:不存在有一列全是1就好 注意点:数组用char类型 #include <bits/stdc++.h> using namespace std; char cell[2][200]; int main() { int t; //freopen("in.txt","r",stdin); bool falg=true; for(cin>>t;t;t--) {

  • Educational Round 64 C. Match Points(二分,贪心)2021-10-07 12:02:46

    Link 贪心,但不是无脑贪心. 一开始想的是,从小到大对于每个数 x x x找到第一个大于等于 x + z

  • Educational Codeforces Round 114 (Rated for Div. 2)2021-10-03 11:01:31

    A 想咋构造咋构造 代码: #include <stdio.h> int main(){ int t; scanf("%d", &t); for (int i = 1; i <= t; i++){ int n; scanf("%d", &n); for (int j = 1; j <= n; j++){ for (int k = 1; k <= j; k++){ printf("

  • educational round #5 cf616E Sum of Remainders2021-10-01 21:33:16

    询问 \(n\mod 1+n\mod 2+n\mod 3+\cdots +n\mod m\) 对 \(10^9+7\) 取模的值. \(1\leq n,m\leq 10^{13}\) 考虑 \(\mathrm O(m)\) 地计算肯定是不可行的 . 是否可以和分解因数一样,只考虑 \(\mathrm O(\sqrt n)\) 之内的内容呢 ? 是可以的,观察可得对于 \(1\leq x\leq \sqrt n\) ,对

  • C. The Tag Game(Educational Codeforces Round 22)2021-09-28 14:02:20

    链接:link. 题意:给出一棵树,A初始在1,B初始在x,A B轮流移动,B先移动,每次移动可选择不动或移动到相邻节点,A想最小化移动次数,B想最大化移动次数,求问A追上B 的移动次数. 思路:分别计算AB到每个节点的距离d1,d2,如果d2<d1该点可到达。dfs int n,x; struct node { int to,

  • Educational Codeforces Round 51 (Rated for Div. 2) D. Bicolorings (dp)2021-09-25 21:31:56

    题意:一个\(2\)x\(n\)的矩阵,每个格子可以涂成黑色或者白色,现在问你全部涂完后,连通块个数为\(k\)个一共有多少方案数 题解:每一列总共有\(4\)种情况,白白,黑白,白黑,黑黑,设\(dp[i][j][k]\)表示第\(i\)列,涂第\(j\)种情况,涂完后连通块个数\(k\)的情况数,那么很容易从前一列的状态转移过

  • Educational Codeforces Round 114 (Rated for Div. 2) D The Strongest Build(map+vector)2021-09-24 23:33:58

    题目大意: 给你n行数字 每组数字按递增顺序给出 再给你m个禁止的序列 就是你不能按这些序列来选这n行的数字 问你除了禁止序列的顺序外每行选一个数字的最大值 思路: map+vector 感觉就是考察stl运用吧… 我们可以首先每行都选最后一个数字即最大的数字 然后如果这个是被禁止的

  • Educational Codeforces Round 114 (Rated for Div. 2) E. Coloring T11 D432021-09-23 13:36:29

    Educational Codeforces Round 114 (Rated for Div. 2) E. Coloring T11 D43 [传送门]( Problem - E - Codeforces (Unofficial mirror site, accelerated for Chinese users) ) 思路 (思路借鉴牛客群犇 观察到: 若第一行为 11000 或 1010110 这种有连续的两个 1 或 0 的串,那么

  • Educational Codeforces Round 114 (Rated for Div. 2)题解2021-09-21 22:01:51

    还是常规的过了A,B,C还是在D上卡了... D. The Strongest Build 简化题意:给定你n组东西,每组东西都有\(c_i\)个装备,每个装备有一个武力值\(a_{i,j}\),要求你从每一组中选出一个装备,使得总的装备的武力值最大。但有一些给定的方案是不能选的。 首先看到这个题的第一印象是只有\(m\)中方

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有