zl程序教程

Codeforces 414B

  • Codeforces Round #807 (Div 2.) A·B·C

    Codeforces Round #807 (Div 2.) A·B·C

    A. Mark the Photographer原题链接Original Link思想将所有人的身高存入数组 ,用sort排序利用双指针,以n为分界线,判断是否满足条件前n个人的身高+ x小于等于后n个人的身高代码#include <bits/stdc++.h> using namespace std; const int N=1e6+3; int a[N]; int main(

    日期 2023-06-12 10:48:40     
  • Educational Codeforces Round 132 (Rated for Div. 2) A·B·C

    Educational Codeforces Round 132 (Rated for Div. 2) A·B·C

    A. Three Doors原题链接Origional Link思想从拿到钥匙的门开始,用其得到的钥匙遍历对应的门直到钥匙为0,若共打开了3道门,则为YES代码#include <bits/stdc++.h> using namespace std; const int N = 10; void solve(){ int a[N]; int n; ci

    日期 2023-06-12 10:48:40     
  • Codeforces Round #805 (Div. 3)(A~C)

    Codeforces Round #805 (Div. 3)(A~C)

    A. Round Down the Price题目大意Origional Link对于一个数N,求其最接近且不大于该数的10^m输出N-10^m思想初始化p = 1e10,循环枚举p = p / 10直到p < n代码#include <bits/stdc++.h> using namespace std; typedef long long LL; void solve()

    日期 2023-06-12 10:48:40     
  • Codeforces Round #806 (Div. 4)(A~F)

    Codeforces Round #806 (Div. 4)(A~F)

    A. YES or YES?题目大意Origional Link判断是否是yes顺序的不区分大小写的字符串是则输出YES,否则输出NO思想读入暴力判断代码#include <bits/stdc++.h> using namespace std; void solve(){ string s; cin >> s; bool flag = 1;

    日期 2023-06-12 10:48:40     
  • Edu Codeforces Round 115 (Div. 2)

    Edu Codeforces Round 115 (Div. 2)

    #NameAComputer Game 2 s, 256 MBx8894BGroups 4 s, 256 MBx5935CDelete Two Elements 2 s, 256 MBx4419DTraining Session 2 s, 256 MBx1583EStaircases 2 s, 256 MBx442FRBS3 s, 512 MBx159GThe Sum of Good Number

    日期 2023-06-12 10:48:40     
  • Codeforces Round #754 (Div. 2) C-E

    Codeforces Round #754 (Div. 2) C-E

    #NameAA.M. Deviationx14701BReverse Sortx11165CDominant Characterx8864DTreelabelingx1791EArray Equalizerx580FPalindORmex41C. Dominant Character(暴力+剪枝、思维)题意给你一个只含有’a’, b’, ‘c’ 的字符串,长度1e5内,让你寻找最短的子串满足:长度

    日期 2023-06-12 10:48:40     
  • 【算法竞赛】Codeforces Round #841 (Div. 2) C, E

    【算法竞赛】Codeforces Round #841 (Div. 2) C, E

    闲言赛时ABD,C题没做出,赛时其实想到过前缀和,然后就是没太想清楚怎么高效的利用前缀信息。Problem - C - Codeforces容易发现,当一个数是另一个数的平方时,有奇数个因数。而区间得到的结果,最多是2*n-1,联系数据范围,对答案有贡献(减少)的数较少。所以,利用异或运算的可逆性,从对答案有贡献的值倒推。而为了实现区间的倒推,可以尝试记录下前缀和s的当前值,每个前缀和出现过的次数

    日期 2023-06-12 10:48:40     
  • A. Vasya and Book ( Codeforces   Educational Codeforces Round 55 )

    A. Vasya and Book ( Codeforces Educational Codeforces Round 55 )

    题意:当前在看书的第 x 页,每次可以向前或者向后翻 d 页,这个书一共 n 页,问能否用最小操作翻到第 y 页。 题解:三种情况:1、直接翻能到的一定最短。 2、先翻到第一页,然后往后翻,翻到第 y 页。3、先翻到第 n 页,然后往前翻,翻到第 y 页。#include<bits/stdc++.h> using namespace std; typedef long long l

    日期 2023-06-12 10:48:40     
  • C. Prefixes and Suffixes ( Codeforces Round #527 (Div. 3) )

    C. Prefixes and Suffixes ( Codeforces Round #527 (Div. 3) )

    题意:给你一个 n 长度的字符串,给你 2n - 2 个子串,其中有 n - 1 个前缀和 n - 1 个后缀,输出一个合法的判断。题解: 找到 n - 1 长的子串一个是(假设第一个是)最长前缀,另一个是最长后缀。 判断假设是否正确,遍历所有子串,如果符合前缀 tot 加 1,如果 tot 不够 n - 1 或者我们假设的那个前缀从第二个开始不等于那个后缀的前 n - 2 个,也就是我们假设

    日期 2023-06-12 10:48:40     
  • A. Be Positive 【 Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) 】

    A. Be Positive 【 Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) 】

    Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) 题意:给你 n 个数,找个 d 让这个 n 个数除以 d 之后大于零的数至少是 n / 2 个。&:分类一下,输出 1 或者 -1 或者 0 就可以了。#include<bits/stdc++.h> using namespace std; int a[2

    日期 2023-06-12 10:48:40     
  • CodeForces - 282A Bit++ (水)

    CodeForces - 282A Bit++ (水)

    CodeForces - 282A Bit++ Submit Status DescriptionThe classic programming language of Bitland is Bit++. This language is so peculiar and complicated.The language is that peculiar as it h

    日期 2023-06-12 10:48:40     
  • codeforces MUH and Important Things

    codeforces MUH and Important Things

    /* 题意:给一个序列,表示每一项任务的难度,要求完成每一项任务的循序是按照难度由小到大的!输出三种符合要求的工作顺序的序列! 思路:直接看代码.... #include iostream #include cstring #include cstdio #include algorithm #define N 2005 using namespace std; st

    日期 2023-06-12 10:48:40     
  • codeforces A. Bayan Bus(简单模拟)

    codeforces A. Bayan Bus(简单模拟)

    [HDU 7136] Jumping Monkey | 并查集 | 逆向思维 Jumping Monkey Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 747 Accepted Submission(s): 360

    日期 2023-06-12 10:48:40     
  • codeforces Soldier and Number Game(dp+素数筛选)

    codeforces Soldier and Number Game(dp+素数筛选)

    outputstandard output Two soldiers are playing a game. At the beginning first of them chooses a positive integer n and gives it to the second soldier. Then the second one tries to make maximum possi

    日期 2023-06-12 10:48:40     
  • codeforces Round #320 (Div. 2) C. A Problem about Polyline(数学) D. "Or" Game(暴力,数学)

    codeforces Round #320 (Div. 2) C. A Problem about Polyline(数学) D. "Or" Game(暴力,数学)

    解题思路:就是求数 n 对应的二进制数中有多少个 1 解题思路:对(strength, i, j)按照strength进行递减排序,从左到右进行遍历,用b[N]表示i和j有关系!  如果发现b[i]或者b[j]有关系了,则跳过这个strength, 否则b[i] =j, b[j] = i #include iostream #include algorithm #incl

    日期 2023-06-12 10:48:40     
  • 【Codeforces Round #693 (Div. 3) D】Even-Odd Game

    【Codeforces Round #693 (Div. 3) D】Even-Odd Game

    题目链接 链接 翻译 translation 题解 贪心,随便想想也能猜到,排序。然后哪一方最大的数字大(奇数和偶数),就抢对方的(对方的奇偶性数字大),或者拿自己的(自己的奇偶性大)。 这样,对于拿的那个人来说收益总是最大的。 不够了就随遇而安就行。。 代码 #include <bits/stdc++.h> #define lson l,mid,rt*2 #define rson

    日期 2023-06-12 10:48:40     
  • 【Codeforces Round #693 (Div. 3) B】Fair Division

    【Codeforces Round #693 (Div. 3) B】Fair Division

    题目链接 链接 翻译 translation 题解 先用 \(2\) 然后用 \(1\) 补来凑n/2就行。 挺显然的一个贪心。 代码 #include <bits/stdc++.h> #define lson l,mid,rt*2 #define rson mid+1,r,rt*2+1 #define LL long long using namespace std; const

    日期 2023-06-12 10:48:40     
  • 【Codeforces Round #693 (Div. 3) A】Cards for Friends

    【Codeforces Round #693 (Div. 3) A】Cards for Friends

    题目链接 链接 翻译 题解 看到除2就知道是个暴力题了。 模拟就行,log复杂度除不了几下的。 然后每次分成的碎片个数乘 \(2\) 也很快就会超过 \(n\) 了,为了防止爆 \(int\) 中间就停下来吧。 代码 #include <bits/stdc++.h> #define lson l,mid,rt*2 #define rson mid+1,r,rt*2+1 #define

    日期 2023-06-12 10:48:40     
  • 【Codeforces Round #644 (Div. 3) F】Spy-string

    【Codeforces Round #644 (Div. 3) F】Spy-string

    题目链接 链接 翻译 让你构造一个和 \(n\) 个字符串都只有【最多一个地方】不同的字符串 题解 只考虑第一个字符串,假设第 \(i\) 个位置不同,那么每个位置都有 \(26\) 种可能(其中一种是和本身一样) 看看得到的字符串是不是符合要求的就好。 代码 #include <iostream> #include <string> using namespace st

    日期 2023-06-12 10:48:40     
  • 【Educational Codeforces Round 94 (Rated for Div. 2) B】RPG Protagonist

    【Educational Codeforces Round 94 (Rated for Div. 2) B】RPG Protagonist

    题目链接 链接 翻译在这里输入翻译 题解在这里输入题解 代码

    日期 2023-06-12 10:48:40     
  • 【Codeforces Global Round 9 D】Replace by MEX

    【Codeforces Global Round 9 D】Replace by MEX

    题目链接 点我呀 翻译 给你一个长度为 \(n\) 的数组。 你可以将某个位置上的数字换成 \(mex\) 最多 \(2*n\) 次。 让你把这个数组变成不下降的,这个数组中的数字都在 \(0..n\) 之间。 \(mex\) 表示没有出现过的最小的整数。 题解 构造题,我们可以把目标改为让最后的数组变成 \(0,1,2\cdots n-1\)。 可以这样做,一开始肯定有很多位置 \(a[i]!

    日期 2023-06-12 10:48:40     
  • 【Codeforces Round #639 (Div. 2) C】Hilbert's Hotel

    【Codeforces Round #639 (Div. 2) C】Hilbert's Hotel

    题目链接 点我呀 翻译 一个旅馆内有无限多个房间, 每个房间里面都只有一个人住。 这些房间和所有的整数对应。 现在对于房间号为整数 \(k\) 的房间, 里面的人要移动到 \(k + a_{k\ mod\ n}\) 号房间。 给你 \(n\), 和整型数组 \(a\) , 问你移动之后, 是不是每个人都只占据一个房间, 以及每个房间是不是都没有空。 题解 这题就特别明显, 是想让你把 \(0\)

    日期 2023-06-12 10:48:40     
  • 【Codeforces Round #639 (Div. 2) D】Monopole Magnets

    【Codeforces Round #639 (Div. 2) D】Monopole Magnets

    题目链接 点我呀 翻译 给你一个 \(n\times m\) 的网格, 让你在上面放南极和北极磁铁, 但是这两种磁铁, 在你没有激活他们的时候, 是不会 互相吸引的, 只有在你选中其中一对南北极之后, 北极才会被南极吸引, 然后南极不动, 北极离它近一点 (当然, 只有他们俩 在同一行或者同一列的时候才可以互相吸引, 一个格子可以放多个南北极, 也可以通过吸引, 重叠在一起。 然后现在每个格子被

    日期 2023-06-12 10:48:40     
  • 【Codeforces Round #635 (Div. 2) C】Linova and Kingdom

    【Codeforces Round #635 (Div. 2) C】Linova and Kingdom

    题目链接 点我呀 翻译 给你一棵树, 让你在这棵树上选择恰好k个点, 这k个点是发展工业的, 然后其余的n - k个点发展旅游业。 但是根节点(约定1号节点是根节点)例外, 它可以发展旅游业也可以发展工业(不过后面会发现这条件没啥用。。)。 假设x是你选出来的k个点中的一个, 对于所有的x, 你需要求出每个节点x到根节点1会经过的 发展旅游业 的节点个数\(cnt_i\), 然后对cnt求和,

    日期 2023-06-12 10:48:40     
  • 【Codeforces Round #669 (Div. 2) D】Discrete Centrifugal Jumps

    【Codeforces Round #669 (Div. 2) D】Discrete Centrifugal Jumps

    题目链接 点我呀 翻译 你在位置 \(1\),然后想要到位置 \(n\),每个位置都有一个高度 \(h[i]\), 你可以从位置 \(i\) 跳到位置 \(j\), 当且仅当以下情况之一满足: \(i + 1 = j\) \(min(h[i],h[j]) > max(h[i+1..j-1])\) 即 \(i\) 到 \(j\) 这一段里的每个位置的高度都低于 \(h[i]\) 和 \(h

    日期 2023-06-12 10:48:40     
  • 【Codeforces Round #645 (Div. 2) E】 Are You Fired?

    【Codeforces Round #645 (Div. 2) E】 Are You Fired?

    题目链接 【题目翻译】 给你一个长度为n的序列a,但是只给你前[n/2](向上取整)个数字,然后后面[n/2](向下取整)个数字都是 x,现在让你求一个数字k,使得序列a中每个长度为k的连续序列的和都大于0. 【题解】 我们先证,如果存在一个满足要求的k的话,那么k2=2*k肯定也是一个符合要求的答案。 为什么? 我们可以假设s[i]=a[i]+a[i+1]+a[i+2]+...+

    日期 2023-06-12 10:48:40     
  • 【Educational Codeforces Round 88 (Rated for Div. 2) B】New Theatre Square

    【Educational Codeforces Round 88 (Rated for Div. 2) B】New Theatre Square

    题目链接 【题目翻译】 让你用1*1和1*2的砖块铺满空白的格子。 1*2的砖块只能横着放。 用11的砖块代价是x,12的代价则是y. 问你需要的最小代价。 【题解】 看到1*2只能横着放。问题就简单多了。 若x2<=y则直接放11的就行了。 否则1*2可以放久放这个。(单位格子价格更低); 【代码】 /* 显然有的性质: 如果x*2<=y

    日期 2023-06-12 10:48:40     
  • 【Codeforces Round #645 (Div. 2) C】Celex Update

    【Codeforces Round #645 (Div. 2) C】Celex Update

    题目链接 【题目翻译】 给你个蛇形的图...你每次可以到右边或者下边一个相邻的格子。 问你从起点到终点的路径上遇到的和有多少种可能。 【题解】 首先明确一件事情啊,绝对不是直接输出从起点到终点的不同走法个数哦。 比如这张图的情况: 显然这两种是不同的走法但是和是一样的。 我们会发现,如果我们从起点一直往右走,然后一直往下走,得到的和肯定是最小的,记为min。 如果从起点一直往下走

    日期 2023-06-12 10:48:40     
  • 【Codeforces Round #645 (Div. 2) A】 Park Lighting

    【Codeforces Round #645 (Div. 2) A】 Park Lighting

    题目链接 【题目翻译】 其实就是让你用一个1*2(可以缩小为1*1)的方块去填充整个n*m的方格。 问你最少需要多少个方格。 【题解】 如果长和宽某一个是偶数,那么显然可以让长为2的边顺着那个方向摆放。 刚好需要\(n/2*m\)个,也即\(n*m/2\) 如果都是奇数的话,我们可以截出来一个长度为奇数的,宽为1的一列,然后让那一列竖着填。 即\((n-1)/2+1\)个,然后剩下

    日期 2023-06-12 10:48:40     
  • 【Codeforces 1185C2】Exam in BerSU (hard version)

    【Codeforces 1185C2】Exam in BerSU (hard version)

    【链接】 我是链接,点我呀:) 【题意】 要让前i个数字的和小于等于M. 问你最少要删掉前i-1个数字中的多少个数字,每个询问都是独立的。 【题解】 ti的范围很小。 所以N*MAX(TI)暴力枚举就行。 如果超过了M的话显然是优先把大的数字删掉。 【代码】 #include <iostream> using namespace std; const int I

    日期 2023-06-12 10:48:40     
  • 【Codeforces 1107D】Compression

    【Codeforces 1107D】Compression

    【链接】 我是链接,点我呀:) 【题意】 题意 【题解】 先把所给的压缩形式的字符串转成二进制 然后对获得的01数组做一个前缀和(a[i][j]=以(i,j)为右下角,(1,1)为左上角的矩形内的数字的和) 这样就能O(1)复杂度获得一个长度为x的正方形的区间和了。 这样。我们直接暴力从1..n枚举n的因子x 显然每个因子x要进行(n/x)^2次判断。 有个性质 ∑(n/x)^2

    日期 2023-06-12 10:48:40