ICode9

精准搜索请尝试: 精确搜索
  • 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 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 108 (Rated for Div. 2) C. Berland Regional(思维,枚举)2021-10-17 10:59:30

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

  • 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 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("

  • Ozon Tech Challenge 2020 (Div.1 + Div.2, Rated, T-shirts + prizes!)2021-09-30 21:30:49

    Ozon Tech Challenge 2020 (Div.1 + Div.2, Rated, T-shirts + prizes!) 题号题目知识点AKuroni and the GiftsBKuroni and Simple StringsCKuroni and Impossible CalculationDKuroni and the CelebrationEKuroni and the Score DistributionFKuroni and the PunishmentGKur

  • 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\)中方

  • Educational Codeforces Round 114 (Rated for Div. 2)(A~D)2021-09-21 17:33:41

    A. Regular Bracket Sequences 题意:给出n,输出n个长度为2n的合法括号序列 分析:正常输出所有括号序列,然后统计个数,在输出n个后停止,dfs爆搜,搜的时候三个变量,当前以及存储到符号个数,当前输出到第几个左括号,第几个右括号,当左括号没达到n就可以走左括号,同时右括号允许值++,当右括号有值可

  • Educational Codeforces Round 113 (Rated for Div. 2)2021-09-12 17:06:19

    问题A :A. Balanced Substring A. Balanced Substring 题目大意 一个字符串s,由n个字母组成,每个字母要么是’a’, 要么是’b’,字符串中的字母从1到n编号。s[l, r]是从字符串的索引l到r的连续字母字串。如果字符串中’a’的数量大于’b’的数量,则该字符串被称为平衡字符串,查找字

  • Educational Codeforces Round 113 (Rated for Div. 2)2021-09-11 16:04:45

    Problem - A - Codeforces 给你一个只包含A和B的字符串,需要找到任何一个连续字串,使得其中的A和B相同。 暴力找即可,而且只要求其中一个,也不要求最长。 #include<iostream> #include<algorithm> #include<cstring> #include<cmath> #include<cstdio> #include<queue> #include<sta

  • Educational Codeforces Round 113 (Rated for Div. 2) 补题 A B C2021-09-10 14:32:00

    A. Balanced Substring 分析: 暴力枚举每个子串,签到题 代码: #include <bits/stdc++.h> #define int long long using namespace std; const int N = 55; int T, n; char str[N]; signed main() { cin >> T; while (T --) { int x = -1, y = -1; cin

  • Educational Codeforces Round 113 (Rated for Div. 2) ABCD 解题思路2021-09-09 01:01:04

    Educational Codeforces Round 113 (Rated for Div. 2) 经典卡\(C\)秒\(D\),可惜了 怪自己特判写错了吧,对式子找了半天问题结果根本不是式子的问题 A - Balanced Substring 思路 找到任意一个位置\(i\),满足\(s[i]\neq s[i+1]\),那么直接输出\([i,i+1]\)这个区间作为答案即可 代码

  • CodeChef Starters 9 Division 3 (Rated) India Fights Corona2021-08-18 11:32:58

    原题链接 India Fights Corona 题意: 有\(n\)个城市,\(m\)条道路,其中有些城市自己有医院,所以可以在自己城市做核酸检测,那么花费就只有就医费用,而对于那些自己没有医院的城市,需要去别的城市就医,那么他们需要花的费用就是就医费 + 路费,问最小花费是多少。 题解: 之前只写过多源\(BFS\)

  • 《Educational Codeforces Round 112 (Rated for Div. 2)》2021-08-16 09:03:33

    这场前面几题感觉都不是很难。 A:很显然很大的时候都用最大的来塞就行了,对于较小的时候用背包计算下最优的方案。 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<LL,int> pii; const int N = 1e6 + 1; const int M = 1e5;

  • Educational Codeforces Round 112 (Rated for Div. 2) 题解(A-E)2021-08-08 02:31:34

    A. PizzaForces 注意到\(6 : 15 = 8 : 20 = 10 : 25 = \frac{1}{2.5}\),然后题目翻译一下就是在\(6x + 8y + 10z \ge n\)的情况下最小化\(15x + 20y + 25z\),然后其实就有\(15x + 20y + 25z \ge 2.5n\),\(n\)为偶数时答案就是\(2.5n\),否则就为\(2.5(n + 1)\)。 (n为奇数时的结论是猜的

  • Educational Codeforces Round 101 (Rated for Div. 2) D. Ceil Divisions2021-08-06 22:04:33

    https://codeforces.ml/contest/1469/problem/D 显然,容易构造n+20步完成.而在多出5步的情况下考虑每次保留sqrt(n) 按照下面进行构造: \([1,2,3,4,5,6,7,8,9] to [1,2,3,1,1,1,1,1,9] to [1,2,3,1,1,1,1,1,3] to [1,2,3,1,1,1,1,1,1]...\) tips: +20 考虑按二进制, +5 考虑按

  • Educational Codeforces Round 112 (Rated for Div. 2)2021-08-01 13:01:40

    E Boring Segments 双指针加线段树; 线段树维护区间覆盖问题,具体来说每个节点维护区间被完整覆盖的最小次数; 先将线段按照权值从小到大排序,seg[i]指下标i所对应的线段; 对于双指针l,r来说,r向右移的同时将seg[r]对应的线段覆盖,直到覆盖掉整个区间[1,m],此时再右移l直到区间未被覆盖,更新

  • Educational Codeforces Round 112 (Rated for Div. 2)2021-07-31 22:33:13

    A 因为所有方案的平均价格是一样的所以我们就可以考虑每个方案怎么能被最少地凑出来。 如果是奇数那么肯定要加一变成偶数。然后如果\(>6\)一定能被凑出来。\(\leq6\)只能输出\(15\) code: using namespace std; int T;ll n; int main(){ freopen("1.in","r",stdin); scanf("%d"

  • Educational Codeforces Round 112 (Rated for Div. 2) 个人题解2021-07-31 10:59:27

    A. PizzaForces 题意 有三种披萨制作方案:15分钟制作6片、20分钟制作8片和25分钟制作10片。 问制作出至少 n n n片披萨要多少分钟 分析 三种方案的效率都一样,都是每分钟制作0.4个披萨,也就是

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

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

ICode9版权所有