随笔分类 - cf
摘要:Link 首先我们研究全是0的情况,显然的,每次操作2最多可以得到1分。 那么显然的,不如直接一次操作一一次操作二,这样是最优的。 然后再研究初始数组,很难用很快的方式得到应该从什么时候开始第一次操作二。 不过可以注意到,第一次操作2最多可以得到n分,那么我们再天以后进行第一次操作二
阅读全文
摘要:Easy Version Hard Version Hard Version的做法可以从Easy Version 用数据结构优化得到。 首先我们想一下,什么情况需要进行操作?显然是的时候,并且当的时候将会无解。 那么当的时候,应该怎
阅读全文
摘要:Link 这是一个需要欧拉反演的题目 首先,可以知道只和数字之间的大小有关,数列的顺序无关,那么就可以首先排一个序方便解决该问题。 根据欧拉函数的性质,知道 那么我们每次先确定中间的数,然后根据公式,得他它得贡献是\(\sum_{i=1
阅读全文
摘要:Link 此题目可以从两个方向考虑,正着和倒着,倒着考虑比较容易,首先把所有的数放到一块,如果是'<'或者'>',就是去掉最左边或者最右边的数,这样显然只有一种可能,答案不变。 如果是'?',那么显然可以去掉中间的任意一个,所以答案就是,那么对于位置的\
阅读全文
摘要:Link 首先想一下,如果又一列的 是 会有什么样的要求?需要这一样有 的所有数字并且没有 当我们知道这一点以后问题就很好解决了. 我们应该构造数列的时候,满足第一行的为 ,第 行的 为\
阅读全文
摘要:Link 简单版本的结论还是很容易猜到的。 首先很容易想到的第一步就是尽可能地不覆盖地取尽可能多地区间,最后剩下了一小块。 然后在接着原来的指针一个一个地往右问,直到不能问了为止。 为什么这样是正确的呢?首先,在这样一步一步地往右查询的过程中,我们会发现总是前$k-1个数加上后面的一个数。 然后题面
阅读全文
摘要:事实上我们可以发现,如果最后,那么我们可以连一条边,从到 这样我们就得到了一个有向图,在这张有向图呢,可以证明的是 如果,那么必须全部都是自环。 若不成立,则必须每个环的大小恰好为 这样就可以解决了。 #include<cstdio> #
阅读全文
摘要:Link A Two Vessels 十分甚至九分地简单 #include<bits/stdc++.h> using namespace std; int t; int a,b,c; int main(){ scanf("%d",&t); while(t--){ scanf("%d%d%d",&a,
阅读全文
摘要:[link](https://codeforces.com/contest/1855/problem/C1) 像这种构造题可以先分类讨论一波 比如说全是正数或者全是负数,那么显然的就是可以用前缀和和后缀和来解决。 而如果有正有负呢?可以注意到的是数字非常小,而了,那么我们就可以
阅读全文
摘要:[link](https://codeforces.com/contest/1855/problem/B) 需要思考一下 如果这个题能做,那么肯定有一种比较可行的做法。 如果是可行的,那么就意味着是可行的 这是显然的,显然后者的每一个数在前者中必然有对应的倍数,所
阅读全文
摘要:[Link](https://codeforces.com/contest/1849/problem/C) 我们想一下,什么时候两种变换是相同的 或者说,这意味着什么。 本题目有特殊性,特殊性就在于只有0和1 对于每一个被改变的区间,从开始的那一堆0,和从开
阅读全文
摘要:[link](https://codeforces.com/contest/1851) #### A 非常简单的比较大小问题 ```cpp #include #include #include #include #include #include #include #include #include
阅读全文
摘要:[Miku](https://codeforces.com/contest/1853/problem/C) 一道逆向思维的题目。 我们假设最后的最小的数是个1,放在第一个位置上,然后我们往数列开头按照规则插入0,其中应该插在这个1后面的,我们视为无效插入,插在这个1前面的,我们视为有效插入。 显然随
阅读全文
摘要:Jisoo 什么时候两个点中间夹得那个点不会被走?当他不在最短路上的时候。 按照这个思想进行检查就行了。 #include<cstdio> #include<iostream> #include<cstring> #include<iomanip> #include<cmath> #include<
阅读全文
摘要:Jisoo 通常来讲这种题可以按照边来考虑 当然也可以按照点对。 对于任意一个点对,在新图上的距离是在原图上的一半上取整,这样,我们可以先把原来的距离都求出来,奇数点和偶数点求出来并且化简一波式子。 #include<cstdio> #include<iostream> #include<cstri
阅读全文
摘要:Jisoo 观察样例,知道肯定和六有关系 并且 就可以构造了 #include<cstdio> #include<iostream> #include<cstring> #include<iomanip> #include<cmath> #include<s
阅读全文
摘要:Jinnie 看到莫名其妙的异或题,应该考虑按照位数处理。 这样我们分别考虑每一位的答案,需要先取模。 排序,让序列有了单调性,并且可以观察到,对于第k位只有两个数的和属于 才行 最后的右边界是什么东西?我们取模了啊.
阅读全文
摘要:Jennie 因为要记录余数的问题,不能单纯追求最大 那么就加上一维来记录维数 再开一个数组记录是怎么转移的 #include<cstdio> #include<iostream> #include<cstring> #include<iomanip> #include<cmath> #includ
阅读全文