ICode9

精准搜索请尝试: 精确搜索
  • Codeforces Round #806 (Div. 4)2022-07-13 22:00:07

    A. YES or YES? 思路:algorithm库里有一个transform函数可以将字符串转为大写,然后判断是否等于YES #include <bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<int, int> PII; const int N = 100010; int n, m; int a[N]; void solve() { cin >

  • Codeforces Round #806 (Div. 4) A - G2022-07-13 20:34:59

    传送门 A. YES or YES? 统一一下大小写 #include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <string> #include <queue> #include <functional> #include <map> #include <set> #include &

  • Codeforces Round #805 (Div. 3) A - G2022-07-13 20:01:31

    传送门 第一次赛中 AK div3,值得纪念! 赛后发现有很多题想的不是很周到,所以晚发了这么久 A - Round Down the Price 找到一个不大于当前数字的 10 的次幂 #include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <string> #include <queue> #inclu

  • Codeforces Round #806 (Div. 4)总结2022-07-13 12:32:28

    比赛地址 比赛情况 排名:?? / 27864 AC:7 / 7 题目分析 A 语法题 B 看一下出现多少种字母,加上字符长度就是答案 C 因为是倒推,所以 D 就加,U 就减,最后输出模10的余数即可 D string+map 先把所有string放入一个map里 然后对于每一个string枚举分界点,判断是否存在两个字串都在map中 E 每

  • Educational Codeforces Round 129 (Rated for Div. 2)2022-07-13 10:32:22

    真,自闭场 C题已经忘记是什么了,记得一开始的做法不知道错哪了,最后改了个做法才过 D原本一直在想有什么数论上的性质和结论,一直局限于乘的那个数的选择,没有从因数的角度考虑,于是自闭 F最后看了下感觉可做,后来发现确实不难 D 其实本质是从搜索的角度出发,然后考虑状态的数量:只要发现每

  • Codeforces Round #805 (Div. 3) A——E补题2022-07-12 22:00:59

    A. Round Down the Price 题意: 给一个数n,要求找到离这个数最近的10的幂次。然后输出两者差值 思路:看了下数据范围,1e9,直接枚举就好了。从1e9开始,如果大于n就除10,否则就停止,相减即可 解决代码: void solve() { int n; cin >> n; int a = 1e9; while(a > n) { a /= 10; } co

  • Codeforces Round #805 (Div. 3)(A~F,G待更)2022-07-12 00:12:36

    A B C D E F G + + +2 + + + -2 A 签到题不讲。 B 模拟题,每次要记录到的字母超过3个时就加一天。 时间复杂度\(\mathcal{O}(\sum|S|)\) C 不难发现要把\(u\)先离散化一波,设车站\(x\)所处最靠前的位置为\(Min_x\),最靠后的为\(Max_x\),每次询问\(a_i,b_i\)时,若\(Min_{a_i}

  • Codeforces Round #804 (Div. 2)2022-07-11 22:03:35

    比赛链接 其实这场的题都没有特别难,但D因为奇怪的问题卡住了,于是... D 又是后面的DP都想出来了,但是不会判断一个区间是否能被完全消去... 容易发现消去的部分由一些长度为偶数的区间组成,且每个区间都是回文不对称的。然后原本一直在想:枚举每一个中心,求出可以消去的最大长度,然后

  • Codeforces Round #800 (Div. 1) C. Keshi in Search of AmShZ2022-07-11 19:31:41

    题目链接 对于有向图的问题,先想DAG该怎么做,这点还是没错的。对于DAG,就是一个按照拓扑序的DP,从n出发,每个点考虑删掉几条边即可(因为一定是删掉通往的点最差的那些边)。然后就一直在想有环怎么处理,但似乎不存在正确的解决方案。 这时候就应该考虑dijkstra的思路,即按照答案从小到大更新

  • Codeforces Round #805 (Div. 3)2022-07-11 16:06:35

    比赛链接: https://codeforces.com/contest/1702 E. Split Into Two Sets 题意: \(n\)(\(n\) 为偶数)张多米诺骨牌,每张骨牌有两个数字(数字范围为 1 到 \(n\)),问是否能将所有的骨牌分成两堆,每堆中的数字没有重复。 思路: 容易知道最后划分出来的两堆骨牌覆盖了 1 到 \(n\) 的所有数字,即每

  • Codeforces Round #805 (Div. 3) 题解2022-07-11 02:02:37

    A. Round Down the Price AC代码 #include <bits/stdc++.h> #define IOS \ std::ios::sync_with_stdio(false); \ std::cin.tie(0); \ std::cout.tie(0); using PII = std::pair<int, int>; using ll =

  • Codeforces Round #805 (Div. 3)2022-07-11 02:01:47

    咕咕咕咕。 E. Split Into Two Sets 题意 有\(n\)张牌,每张牌上写有两个数字,问是否能将牌分成两个集合,使得单个集合中的牌上的数字构成的集合没有重复元素。 其中\(2 \le n \le 2 \times{10}^5\)。 思路 转化成图论问题,令每个数字对应一个节点,问题从将牌分成两个集合转换成将数

  • queue<problem> 2022.7.10 updated2022-07-10 18:35:37

    CF 800-1600 模拟、贪心、数学、DP(先这么几个 并查集 836. 合并集合 - AcWing题库 P3367 【模板】并查集 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) P1551 亲戚 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 837. 连通块中点的数量 - AcWing题库 P3958 [NOIP2017 提高组

  • codeforces div2 1684D. Traps(贪心排序)2022-07-10 12:32:20

    这个题好像也没有什么好说的,就是一个数列,包含一些陷阱,造成的伤害是那个位置上的数字,你有k次可以跳过去的机会,但跳完之后后面的陷阱伤害就会+1 一开始很好像,我们可以总结一下每个跳过操作对后面造成的影响,首先减去的伤害是a[i], 但是又会增加n - i点其他伤害,所以就按照实际减去的伤

  • Educational Codeforces Round 131 (Rated for Div. 2) A —— C2022-07-10 11:37:56

    A. Grass Field 解决代码: void solve() { int a, b, c, d; cin >> a >> b >>c >>d; int cnt = 0; cnt = a + b +c + d; if(cnt == 0) cout << 0 << endl; else if(cnt == 4) cout << 2 << endl; else cout << 1 &

  • CodeForces-1701D Permutation Restoration2022-07-10 02:00:51

    Permutation Restoration 贪心 很类似于调度问题,考虑好贪心优先级即可 显然对于每个位置 \(i\) 我们可以根据现有的 \(i\) 和 \(b_i\) 来推算出可行的 \(a_i\) 的范围,是一段连续的区间,我们假设为 \([l_i, r_i]\) 题目说了答案必有解,因此从贪心的考虑来讲,只用考虑如何将 \(1 - n\)

  • Educational Codeforces Round 131 (Rated for Div. 2) A - D2022-07-10 01:31:47

    传送门 A - Grass Field 每次清除一行一列,最多也就清除 2 次,判断一下就好了 #include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <string> #include <queue> #include <functional> #include <map> #include &

  • CodeForces-1701C Schedule Management2022-07-10 01:31:08

    Schedule Management 二分答案 显然答案具备单调性,直接二分,\(check()\) 的时候,优先让工人自己先干自己的活 如果有时间溢出,则能多干 \(last / 2\) 的工作 如果不够时间,则记录还有多少活要干 如果 wa4 记得开 long long(悲 #include <iostream> #include <cstdio> #include <a

  • Educational Codeforces Round 131 D - Permutation Restoration2022-07-10 01:01:38

    对于每个bi,可以求出ai属于 [(i / (bi + 1)) + 1 , i / bi] 然后就是贪心,参考了yyg的写法 依次枚举1~n,枚举到第i个时,把左边界为i的都放进优先队列,此时优先队列中所有元素的左边界<=i,取出一个右边界最小的即可 因为保证有解,所以取出的元素右边界一定>=i(反证:如果右边界<i,那么肯定属

  • CF1701 Educational Codeforces Round 131总结2022-07-09 18:01:27

    比赛地址 比赛情况 排名:221 / 23733 AC:4 / 6 题目总结 A 看一下有几个1,0个就0,4个就2,否则1 B \(d=2\) 显然最优。 于是从 1 到 \(n\) 判断,如果此数还未输出就输出它和它的2倍和它的2倍的2倍,直到大于 \(n\),标记为出现过,然后遍历下一个数。 C 双指针 首先把每个人擅长的工作都交给它

  • Educational Codeforces Round 131 (Rated for Div. 2) D题(区间贪心)2022-07-09 15:35:53

    题意:给定一个数组b,定义\(b_i=\lfloor \frac {i}{a_i}\rfloor\) ,还原这个a数组。 分析: 由于是下取整,所以对于每个\(a_i\) 我们都能得到\(a_i\)的范围 对于\(b_i \ne 0\) ,$ {i \over b_i + 1} \le a_i \lt {i \over b_i}$ 对于\(b_i = 0\) \(i + 1 \le a_i \lt n\) 所以问题可以转

  • Codeforces 1286F - Harry The Potter(折半搜索+DP)2022-07-09 09:03:42

    Codeforces 题面传送门 & 洛谷题面传送门 一道代码 1k 题,然而我在传引用方面犯了一个智障错误导致我从昨天晚上调到今天早上…… 首先考虑在二类操作对应的 \(i,j\) 之间连边,那么显然不会成环,否则可以调整全用 \(1\) 类操作不会更劣。证明很 easy。而显然假设 \(C\) 为我们连出来

  • Educational Codeforces Round 131 (Rated for Div. 2)2022-07-09 01:01:08

    题目链接 A. Grass Field 水   B. Permutation 题意 回想一下长度的排列n是一个数组,其中每个元素来自1至n恰好发生一次。对于一个固定的正整数d,让我们定义排列的值为长度p[n]中 pi⋅ d=pi+1 的数量.例如,如果d= 3和p = [ 5 , 2 , 6 , 7 , 1 , 3 , 4 ], 那么这种排列的值是2, 因为p

  • Codeforces Round #804 (Div. 2) DAlmost Triple Deletions2022-07-06 16:36:51

    题意:给定一长度为n的数组,可以任意选择其中两个相邻且不同的元素相消,请问最后可以剩下的所有元素相同的数组的长度最长是多少 思路:先花O(n^2)的时间求出任意i-j这一段的元素能否被完全消掉(del[i][j]==1),然后开始dp。dp[i]表示前i个元素经过操作后 剩下的元素相同且包含第i个元素的数

  • Codeforces Round #804 (Div. 2)2022-07-05 21:36:14

    Codeforces Round #804 (Div. 2) 这场题感觉都挺有意思的。 A 题意 找到一组解 \((a,b,c)\) 使得 \((a \oplus b) + (b \oplus c) + (a \oplus c) = n\) 没有输出 -1 思路 先看偶数,很容易看出 \((n/2,n/2,0)\) 是合法解 对于奇数。考虑 \(n=1\) 。无解,这是可以枚举的。这等于说最

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

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

ICode9版权所有