CF选做

news/2024/11/24 6:30:46/

多动动脑子吧
已经完成了:

9

题目难度主要在1900-2500


题目

CF1220D 1900

想法题,考虑两个是奇数的话肯定可以,一个奇数一个偶数肯定不可以,两个偶数同时除2就好
统计一个long long的数后面0的个数,可以用__builtin_ctzll(x)

CF1219G 2000

分五种情况讨论,如果行的情况是0/4时,可以直接 O ( N ) 和 O ( M ) O(N)和O(M) O(N)O(M)搞,然后1/3的时候,就枚举那一行,时间复杂度是 O ( N M ) O(NM) O(NM),2/2的话时间复杂都就是 O ( m i n ( n , m ) 2 m a x ( n , m ) ) O(min(n,m)^2max(n,m)) O(min(n,m)2max(n,m))了,每次只用统计前4大,不用排序,直接开四个数存即可,所以扫是 O ( N ) O(N) O(N)

CF1220E 2200

其实与1相连的所有的环都可以算上,然后在所有的环外其他的点选一条链连进来就行(所有的环都能算到)
考虑把度数为1的点塞进队列里,遇到环就停即可

CF1221F 2500

假设你选的矩阵的左下角和右下角,分别为 ( L , R ) (L,R) (L,R) ,那么一个点 ( x , y ) (x,y) (x,y)被包含的充要条件是

L ≤ m i n ( x , y ) ≤ m a x ( x , y ) ≤ R L \leq min(x,y) \leq max(x,y) \leq R Lmin(x,y)max(x,y)R
然后就是一个区间有值问题,左端点排序,右端点线段树或树状数组即可

CF1230E 2100
考虑到每条链最多也就 l o g 1 0 12 log 10^{12} log1012这么多个值,所以我从树的上面做到下面就可以了,每个点维护一个map转移

CF1218E 2500
把选了K个的答案用F[K]来表示,然后用线段树分治,最后每次两个子孩子NTT一下
时间复杂度是 O ( n l o g 2 n ) O(nlog^2n) O(nlog2n)

CF1231E 2000
结论:找出T最长的字串是S的子序列
证明:假设把操作反过来,变成是T里面找一个开头或结尾的字母插进串内,这样结论就很显然
正着想也可以,发现只要是子序列一定有办法合并成字串,不是子序列中的字母也可以某种顺序一次调整到别的位置

CF1234F 2400
就是找两段连续的字母都不相同的拼在一起,然后我们把每种字母状态压位,就可以用 O ( n 2 n ) O(n2^n) O(n2n)的时间来处理 m a x ( d p [ i ] + d p [ j ] ) max(dp[i] + dp[j]) max(dp[i]+dp[j])其中i和j每个位都不相同的。

for(int i=0;i<(1<<20)-1;i++)for(int j=0;j<20;j++) if(!(i&(1<<j))) dp[i|(1<<j)] = max(dp[i|(1<<j)] , dp[i]);int ans = 0;for(int i=0;i<(1<<20);i++) ans = max(ans , dp[i] + dp[((1<<20)-1) ^ i]);

CF1238D 1800
只用考虑一个字母或者ABBBBB BAAAAA的情况就好了


http://www.ppmy.cn/news/942476.html

相关文章

[CF 126B] Password

代码&#xff1a; KMP&#xff1a; #include<bits/stdc.h> using namespace std; const int N2e610; char s[N]; int nex[N];inline void kmp(){int nstrlen(s1);int j0;nex[1]0;for(int i2;i<n;i){while(j&&s[j1]!s[i]) jnex[j];if(s[j1]s[i]) j;nex[i]j;}…

cf每日一题

Codeforces Round #812 (Div. 2) &#xff08;&#x1f54a;了好久呜呜呜~&#xff09; 题目大意&#xff1a;对一个序列可以进行一次操作&#xff1a;选择两个索引 l , r &#xff0c;对 l , r 范围内的数都减一&#xff0c;然后称f(a)为将所有数删为0所需要的次数&#xff0…

腾讯云服务器续费太贵了,有什么办法解决呢?

腾讯云服务器续费太贵了,有什么办法解决呢? 腾讯云服务器续费比开新户贵太多怎么办?比如&#xff1a;去年刚买了1G2核的腾讯云器&#xff0c;一年才99元/年。到期了续费居然要1000左右一年。太贵了吧&#xff0c;才1核1G的云服务器。阿里云也是一样&#xff0c;云服务器续费…

CF c题

C. Make Equal With Mod time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are given an array of nn non-negative integers a1,a2,…,ana1,a2,…,an. You can make the following operation: c…

CF-div4练习题

题目&#xff1a;Dashboard - Codeforces Round 640 (Div. 4) - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1352 A&#xff1a;整数之和 题解&#xff1a; #include <bits/stdc.h>using nam…

cf交互题

链接 #include <iostream> #include <algorithm> using namespace std;const int N 1e4 10;int a[N], b[N];int main() {int n, k;scanf("%d %d", &n, &k);for(int i 1; i < n - 1; i) {printf("and %d %d\n", i, i1);fflush(s…

腾讯云买赠专区购买云服务器赠送3个月免费续费或同配置服务器!

腾讯云服务器买赠专区购买云服务器&#xff0c;可以选择免费再领一台同配置云服务器&#xff0c;也可以选择免费赠送时长&#xff0c;二选一&#xff0c;轻量应用服务器和云服务器CVM均可享受&#xff0c;买赠专区的云服务器价格要比秒杀区的价格稍微贵一些&#xff0c;但是如果…

腾讯云服务器的计费模式有哪些?新手该如何选择?

腾讯云提供三种类型的云服务器购买方式&#xff1a;包年包月、按量计费和竞价实例&#xff0c;分别适用于不同场景下的用户需求。 下表列出了三种计费模式的区别&#xff1a; 实例计费模式包年包月按量计费竞价实例付款方式预付费购买时 冻结费用&#xff0c;每小时结算购买时…