CF补题计划&&菜鸡的紫名梦2(休闲局,一直退步。。。。)

Codeforces Round #689 (Div. 2, based on Zed Code Competition)

performance:1500
越来越菜了。。。。。菜的扣脚,

  • b 调的有点久,主要是没考虑边界的问题。

problem A
String Generation

  • tag:greedy
  • 本题只要前面补k个,后面全都补“cba”即可。

problem B
Find the Spruce

  • tag:二维dp,brutreforce,simulation

problem C
Random Events

  • tag:math
  • 稍微分析,什么时候不会对答案影响即可。
  • 之后又分类加法原理即可,和分布乘法原理即可

problem D
Divide and Summarize

  • tag: divide and conquer, two pointers
  • 简单分治和模拟

problem E
Water Level

  • tag:brute force , graphs , greedy , implementation , math, *2200

problem F
Mathematical Expression

  • tag:constructive ,algorithms, dp , greedy, *2700

Educational Codeforces Round 106 (Rated for Div. 2)

performance:1500

  • 菜的扣脚,一开始的D想歪了,想到exgcd去了,结果只用筛法就够了。。。。。qwq
  • B的贪心一开始没多想就码,结果wa了几发。。qwq

problem A
Domino on Windowsill

  • tag: greedy
  • 给你一个一半是白和黑的二维矩形。填放骨牌,白色至少放w个,黑色至少放b个。
  • 先竖着放,不够的再横着放。

problem B
Binary Removals

  • tag: greedy
  • 可以发现11xxx00是不合法的。

problem C
Minimum Grid Path

  • tag: prefix
  • 前缀维护一下就好,之后枚举答案即可。

problem D
The Number of Pairs

problem E
Chaotic Merge

  • tag: combinatorics dp

problem F
Diameter Cuts

  • tag: dfs and similar dp trees

problem G
Graph Coloring

  • tag: data structures graphs interactive

Codeforces Round #710 (Div. 3)

菜了菜了,签个到.
这场现状,我快睡着了,jj哥快切完了.


分割线:之前太懒了,现在(1h限时训练,到点被迫下班,除非特殊情况)
2021/5/16开始写博客督促自己补题

Educational Codeforces Round 109 (Rated for Div. 2)

难度正常div2,

  1. B的分类讨论写的不够简洁,导致wa了一发。。。
  2. D的dp,其实把位置放起来,就可以去dp了。。。
  • A:gcd一下就好了ac
  • B:暴力分类讨论一下就好了ac
  • C:暴力讨论,善于观察奇数和偶数
  • D:正常dp,三种做法

Codeforces Round #721 (Div. 2)

难度适中,本场的博弈其实可以想一下的。。。。。。

  • A:统计二进制下的位数。可以取对数。很快,也不用特判。。ac
  • B1&&B2:思路

每个人的策略是

  1. 给对手回文,让对手不能旋转。
  2. 能旋转就旋转

  1. 首先考虑长度为奇数时,中间的元素为0。假如0的个数为1那么BOB赢,假如为2那么DRAW,否则ALICE(最后的情况,ALICE总可以(借助中间的点),构造回文给BOB)
  2. 长度为偶数时,统计回文里不相等的位置。这里就显然了。BOB能赢的情况只有是回文串时。(因为ALICE初始是回文)。
  • C:水题。。。。map维护一下就可以了。ac
  • d:lca
  • E:dp,维护

Codeforces Round #722 (Div. 2)

performance:1450已经是fw了,

对于出b的速度有点慢了,
这次的c挺套路的,没秒掉。。可惜了

  • A: 统计最小元素的个数
  • B: 统计非正数的个数
  • C: Tree&&dp
  • D: math&&dp

分类讨论和固定边界。‘
首先可以观察到[1,x],1肯定会和一个位置配对。

  1. x > n 时,会发现x以外的点都可以匹配在这里插入图片描述
    那么问题就转换成了 d p [ x − n − 1 ] dp[x-n-1] dp[xn1]的子问题了。
  2. 对于x<=n时,可以发现其他点的长度都确定,而什么时候合法,就是n的因子时。
  • E: dfs

Codeforces Round #723 (Div. 2)

performance: 1750

手速场没得说得。d的排列枚举很巧妙

  • A: 排序之后,奇数位置插入后半,偶数位置插入前半。(n为偶数,一定可以构造出来),证明。。。。。
  • B: 打表找归率,发现大于 1 0 6 10^{6} 106时,答案不变了
  • C: 贪心&&heap维护最小的负数
  • D: 排列&&逆序数(把题目的排序转换为求逆序数)
  • E:组合数学&&构造答案。
  • F:…

Educational Codeforces Round 110 (Rated for Div. 2)

performance: 1650
mada mada ne,还要加油,d最后都没调出来,赛后发现还是挺多bug的
a顺利出来了
b看错题了。。。。。。。交了一个其他题的。。。。
d其实挺好想的,码时可以先reverse一下。以便求出在第几层。代码还是不够精简,导致一直wa,一直调式到结束,应该好好反思一下。

  • A:AC: 签到,记录&&判断即可
  • B:AC:判断gcd之后求pair数,很套路的题,容斥一下即可
  • C:AC:dp维护之后输出(题意好像有点没表示清楚)
  • D:模拟&&类似线段树的建树过程(题意好像没说询问后改变还是不改变。。。)
  • E:dp

Deltix Round, Spring 2021 (open for everyone, rated, Div. 1 + Div. 2)

performance:1400

这场就算题意再难懂,也别轻易放弃
A一开始看错题了,浪费了10min,
B构造正常出了
C被题意吓跑了,赛后其实也不难,中规中矩

  • A: 暴力扫一遍即可
  • B: 构造
  • C: 栈维护&&模拟
  • D: 随机化&&bitmasks
//随机化
#include <chrono>//随机化
#include <cstdint>//
#include <ctime>//
#include <random>//
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
For(times, 1, 20){
    int x = rng()%n;
}
  • E:
  • F:…

Codeforces Round #725 (Div. 3)

performance:1400

本场表现的不好:
c调了有点久,
d调了也很久
F的规律没找到。。。其实做了这么多dp,也蛮好想的

  • A:
  • B:
  • C: 排序&&二分(ac赛时写歪了,调了好久)记得写sort之后的lowerbound和双指针

//所有标准库容器类型都支持的运算
*iter;
iter->num;
++iter;
iter++;
--iter;
iter--;
iter1==iter2;
iter1!=iter2;
 
 
//只有vector和deque容器的迭代器支持的操作
iter+n;
iter-n;
iter1+=iter2;
iter1-+iter2;
iter1-iter2;
<,<=,>,>=
//关系操作符只适用于vector和deque,string容器,这时因为只有这两种容器为其元素提供快速、随机的访问,他们确保可根据元素位置直接访问指定容器 
    
/*如何获得一个迭代器在容器中的位置呢?*/
//运用distance函数方法    
int val = distance(v.begin(), it);
  • D: 唯一分解&&筛法ac(被卡时间。。。。)
  • E: 大模拟 (关键是缩小串,因为本题的最大长度有 5 ∗ 2 49 5*2^{49} 5249代码
其实这题有空格,直接输入就好了,cf不会恶心的。
/* substr */
substr(pos,len);//没有其他了
/* find */
s.find(pos,"");
string::npos;//找不到
  • F: 找规律时,类似dp的思想 代码
  • G: 首先可以想到对答案二分,之后就是推公式 代码
公式恒等变换时,要保证结果不变(主要是取整时)

Codeforces LATOKEN Round 1 (Div. 1 + Div. 2)

performance: 1400

这场阳寿局。。。
23:30—2:00
d题可以出的,时间不够了。(题目也没读懂)
B的公式推的有点慢。。。
A还没写成智慧暴力。。。

  • A: 签到,二分图染色,直接暴力1, 智慧暴力 ac
  • B: 签到,推式子ac
  • C: 类似于循环节ac
  • D: 交互,暴力 代码
  • tip树,肯定可以二分图染色(之后拿点集小的点,去搞)
  • E: 交互,dp,模拟 代码
  • 首先一个集合的大小,不会和元素是什么有关。之后就可以dp了
  • dp后是模拟, mid

Codeforces Round #728 (Div. 2)

performance: 1670

a正常找规律,1a
b推式子,推的有点久。
c构造,一开始没考虑全面wa了两发。
d的组合数学很有意思

题意:给你一个图,要你求每个点的访问顺序,之后写出a数组,问a数组逆序对的期望值。
思路:可以先考虑算每一对的逆序对。(把问题转换为求贡献
∑ i = 1 n ∑ j = i + 1 n p [ i ] [ j ] \sum_{i = 1}^{n} \sum_{j = i+1}^{n} p[i][j] i=1nj=i+1np[i][j]
之后对公式化简,求一条链,之后求链上的子树大小。枚举起点。(这里还有一步dp转换

  • E1:dp
  • E2:dp

Codeforces Round #729 (Div. 2)

2021/7/3

perfomace1350
这场又让我想起了被数学神犇支配的恐怖。tql。
数学题都是
c的规律差点,就是没想到用lcm去迭代。

  • A:ac签到统计 奇偶是否相等即可
  • B:画出搜索树后,发现答案肯定是这个形式 a x + k ∗ b a^x+k*b ax+kb,那么暴力check一下即可
  • C:可以发现奇数都是2,之后发现会变的是偶数,根据因子的变化会使 f ( i ) f(i) f(i)改变

可以发现
假如: f ( n ) = i f(n) = i f(n)=i(最小的不可以整除n的数)
那么 l c m ( 1 , 2 , i − 1 ) ≤ n lcm(1,2,i-1) \le n lcm(1,2,i1)n 想到这里,本题也就解决了。
剩下的部分和求因子数差不多。除法就行了 。

现阶段,还没熟练dp,转移还是写全,不错,起码不会有bug!!!
在这里插入图片描述

  • E1:dp
  • E2:dp && fft

ABC208
F题学习blog1
F题学习blog2


Codeforces Round #730 (Div. 2)

2021/7/7

performance1200,(c被x了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
1620
a:一开始取min(讨论没写好,wa了一发)
b:观察一下就好了
c:这场可以说画蛇添足了,直接db不会被卡。偏要用LL,之后还少乘了一个2
以后写时,还是要算清楚,再码,不然又写bug了。。。。。。

  • A:ac签到&&数学
  • B:ac签到&&数学(公式推导
  • C:hack5dfs&&eps
  • D1:交互&&二进制
  • D2:交互&&k进制
  • E: bitmasks、constructive algorithms、divide and conquer、graphs、greedy、math
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值