ICode9

精准搜索请尝试: 精确搜索
  • Codeforces 题目集锦2021-10-27 11:02:41

    1601A 这道题目乍一看很花哨,但和位运算有关的题目,手玩一下就可以把原题的操作换作一个很简单的操作。 本题中其实就是在同一位上选择k个1,使这k个1都变成0,若要使一位上的1都变成0,那这一位上1的个数需是k的倍数,所以我们对每一位上的1的个数取gcd,得到k,若k成立,则k的因数也一定成

  • Codeforces Round #751 (Div. 2)D. Frog Traveler2021-10-26 21:00:34

    D. Frog Traveler 题目大意:每个高度有ai,bi,爬到高度i可以选择跳0~ai米,落在高度j后会向下滑bj米,问跳到最高点的最小步数,和方案 思路:只会最捞的线段树优化建图 拆点后,每个点分为滑落点和跳落点,不拆点的话按照题意建图是错的,跳落点向滑落点连0的边,i可以跳到i~i-a[i],区间用线段树记

  • 《 Codeforces Round #750 (Div. 2)》2021-10-26 18:00:06

    E:我们从1开始考虑最大的k,从右开始到左,dp一下就好。 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef unsigned long long ULL; typedef long double ld; typedef pair<int,int> pii; const int N = 1e5 + 5; const int M = 2e4 +

  • Codeforces Round #750 (Div. 2)2021-10-26 15:33:08

    比赛地址 A(水题) 题目链接 ⭐ 题目: 给出 \(a,b,c\) 三个数,保证均为正数,其中 \(a\) 权值为1, \(b\) 权值为\(2\), \(c\) 权值为3,将 \(a,b,c\) 分成两堆,两堆的权值和的差最小是多少 解析: 考虑取若干个 \(2\) ,则能取到 \([0,2b]\) 间所有的偶数,再加上若干个 \(1\) ,则能取到 \([0,a+2b]

  • 《Codeforces Round #751 (Div. 2)》2021-10-26 13:01:02

    可惜了这场差点上大分。 A: 水题 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef unsigned long long ULL; typedef pair<int,int> pii; const int N = 1e3 + 5; const int M = 2e4 + 5; const double eps = 1e-6; const LL

  • Codeforces Round #750 (Div. 2)2021-10-25 23:03:36

    Codeforces Round #750 (Div. 2) A. Luntik and Concerts 思路分析: 首先我们可以肯定的是a,b,c都大于等于1,所以我们先让它们自己抵消自己,最后a,c只有三种情况。 a = 1, c = 1 如果只有奇数个b,我们取一个b * 2 + a抵消c,否则就拿两个b放到一个数组,另外一个放1个a,1个c。 a = 0, c = 1

  • Codeforces 刷题记录2021-10-25 18:34:46

    自述   进了两次 ICPC World Final,本来该退役了,但机缘巧合又重新开始刷题了。没想到 BZOJ 居然无了,就只好刷 Codeforces 了。 传送门 Contest A B C D E 1 1 1 1 1 1

  • Codeforces Round #751 (Div. 2) A. Two Subsequences2021-10-25 18:32:02

    显然去除最小的字母,然后输出剩下的字符即可。 但是第一次写忘记了一个特殊情况:所有字母都相等且等于z。写代码时下意识地认为给出的字符串总有小于z的,就算等于z,也可以输出一个z,但没有考虑到此时index没有被更新。 #include<cstdio> #include<iostream> #include<cstring> usi

  • Codeforces Round #749 (Div. 1 + Div. 2)2021-10-22 11:58:10

    A.思维 题意:给你 n n n个正整数,让你选一些数,使得选出来的数的和不是一个素数 问你最多能选多少数? 首先我们可以将所有的偶数凑在一起,因为他们一定会被

  • codeforces 282C2021-10-21 22:35:15

    https://codeforces.com/contest/282/problem/C 题意: 给定两个01字符串ab,每次可以在a中选择两个相邻的字符xy,使得a=x^y,b=x|y,然后给xy赋值为ab(或者ba),问最后a能否变成b 思路: 考虑所有情况: 10/01:可以变成11 00:不能改变 11:可以变成10 那么只要a中有一个1就可以变出所有除全部为0的所

  • codeforces lorry2021-10-21 19:34:59

    刚开始一看这不01背包 一看数据nm炸了 特点是v只可能是1或者2 而2=1+1 建两个大根堆,每次拎q1的两个头出来和q2的一个头出来比较 一个很小的优化就是如果v为奇数,那么q1的最大肯定要先取 ——----- 最近状态很烂,补一个死活卡在21不知道re在哪里的代码 #include<bits/stdc++.h> usin

  • Codeforces Round #725 (Div. 3) G. Gift Set (神奇的二分)2021-10-21 13:00:30

    Link 题意: 有 x x x颗红糖, y y y颗蓝糖用来组装成礼包。一个礼包有

  • Codeforces 566E - Restoring Map(bitset 优化构造)2021-10-21 10:32:52

    Codeforces 题目传送门 & 洛谷题目传送门 本来说好的不做,结果今早又忍不住开了道题/qiao 我们称度为 \(1\) 的点为叶节点,度大于 \(1\) 的点为非叶节点。 首先考虑如何求出叶节点及其连边情况,这里不妨假设叶节点个数 \(\ge 3\)​,对于 \(\le 2\)​ 的情况特判掉,具体如何特判见下文。

  • 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

  • Codeforces Round #271 (Div. 2)B. Worms2021-10-19 21:58:10

    原题链接https://codeforces.com/problemset/problem/474/Bhttps://codeforces.com/problemset/problem/474/B题目大意:有n个按一定顺序的洞a1, a2, ..., an,有m只虫子,每只虫子都必须从按顺序从a1开始爬,输出最后停下的时候落在哪个洞上。   解题思路: 1、前缀和。但是因为m中

  • Codeforces 1466G - Song of the Sirens(哈希)2021-10-19 21:02:20

    Codeforces 题面传送门 & 洛谷题面传送门 事实证明,有的难度评分不算很高、涉及的知识点不算很难的题目也能出得非常神仙 首先考虑如何暴力求答案。注意到一个文本串 \(T\) 在 \(s_k\) 中出现的位置,有两种可能,要么跨过中间的 \(t_k\),要么没跨过,前者等价于文本串在 \(s_{k-1}[|s_{k-

  • Codeforces Round #749 (Div.1+Div.2)A-D题解2021-10-19 21:01:16

    A. Windblume Ode 题意:就是从n个数里面挑p(要求最大)个数的和为合数,输出所挑选的数的下标,顺序随便 思路:p的可能值只有n or n-1,如果所有加起来的和为合数,输出n,否则,在奇数中挑一个数减去,使得和为合数, 证明:假设偶数有a个,奇数有b个,a个偶数相加肯定为合数, (1)如果b是偶数,则奇数可以

  • Codeforces 1312E. Array Shrinking(区间DP 栈)2021-10-19 19:59:42

    linkkk 题意: 给出一个长度为 n n n的序列,对于相同相邻的两个数 x x x可以替换为一个数

  • Codeforces Round #743 比赛记录(vp)2021-10-18 20:00:09

    赛时:ABCD 赛后:ABCDE 题解 A,B俩沙比题 C: 考虑使用拓扑排序计算每个章节是哪一轮被理解的。对于一个依赖关系 \(u\to v\) (表示 \(v\) 依赖 \(v\)),设 \(u\) 在第 \(t\) 轮被理解。如果 \(u<v\),那么 \(v\) 被理解的轮数至少为 \(t\)。但如果 \(u>v\),那 \(v\) 被理解的轮数就至少是 \(

  • Codeforces Round #474 F. Pathwalks【主席树】2021-10-18 13:31:01

    题目链接 题意 给出一个 n n n 个结点的无向图图,找出边权递增且边的编号(即输入顺序)递增的路径的最长长度 题解 对于结点 X

  • Codeforces Round #748 (Div. 3) A - E2021-10-18 12:57:58

    https://codeforces.com/contest/1593 A 问每个人能成为严格第一所需要的最少加分,三个人之间是独立的 计算当前人需要超过其他人的最少加分,最后取最大值即可 #include <bits/stdc++.h> using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(0)

  • Codeforces Round #749 总结2021-10-18 01:02:01

    A. Windblume Ode 给个数组,找出元素最多的子数组(可以不连续),其和是合数。 这题卡了一会儿,首先判断总和是不是合数,如果不是,只需要减去一个奇数即可。 B. Omkar and Heavenly Tree 构造一棵树,有限制条件,某些点不能在所给2点的最短路径中,注意限制m<n,构造菊花图即可 C. Omkar and Dete

  • codeforces 700A(二分)2021-10-17 17:31:47

    codeforces 700A 题意:n个同学,要走长度为L的路到目的地,速度为v1,这条路上有公交车,速度为v2,公交车最多坐k人,问最短需要多少时间能让所有同学到目的地 思路:首先这个公交车是可以不必须到目的地的,所有过程一定是公交车先送k人到a点,然后返回再送k人到b点,易知b > a是最优的,并且可以

  • Codeforces Round #748 (Div. 3)F. Red-Black Number(记忆化 + 标记数组优化剪枝)2021-10-17 13:30:16

    F. Red-Black Number 题意:给你一个n位的数字 让你把n位数分别染上红色或者黑色 染上红色的需要整除A个数记为r,染上黑色需要整除B个数记为b,让我们求abs(r - b)最小,2 <= n <= 40, 1 <= A,B <= 40 思路:首先我们可以看到,有n位数字分成两半,那么我们一定可以想到暴力枚举所

  • Codeforces Round #748 (Div. 3) E、D1、D22021-10-17 12:31:55

    Gardener and Tree bfs 大意:给定一棵无根树,进行 k 次操作,每次操作可以删除所有的叶子节点,问最终剩多少个节点。 思路:首先叶子节点的度数是为 1 的,每次删除叶子节点,下次删除的是和叶子节点相连的点,我们直接维护度数,每次把度数为 1 的点入队进行bfs 就行了。 代码如下: #include

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

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

ICode9版权所有