CF 板刷总结
CF 板刷总结
这件事的开始要从万圣节那一天说起。当然,万圣节只用于描述时间,我显然是不参加任何万圣节活动的对吧。
以下是一些我觉得有必要拿出来讲的,有技术含量的题。会持续更新,断更了记得来催更。
CF1037E
有一个 \(n\) 个点 \(m\) 条边的图,每次删掉一条边,然后问你最多能选出多少个点,使得这些点的 导出子图 中每个点度数都 \(\ge k\)。
如果一个点度数 \(< k\),它显然可以被删除:它不可能再变得 \(\ge k\) 了。然后用类似拓扑排序的思路:先把度数 \(<k\) 的加入队列,每次找队首的点,删掉它,更新周围点的度数;发现周围点有变得 \(<k\) 的,也加入队列。
每次删边就把两个有关点的度数更新。如果 \(<k\) ,就加入队列,跑一遍。
由于每个点只会被删除一次,所以,所有的删边操作加一块的复杂度也是 \(O(n)\) 的。
CF1366E
在 trick - 反向操作日神仙 中
CF1327F
在 trick - 拆位 中
CF1437D
有一颗树,将每个点的所有儿子按编号从小到大排序,依次遍历,得到一个BFS序。现在给你这个BFS序,最小化树的深度。
很simple的贪心,每次找到一段最长的连续的上升的段,然后把它接到当前点的儿子即可。“根据题意模拟”。
CF1413D
有一个序列初始为空,现在有 \(2n\) 个操作,每个操作为:加入某个数(不知道),或者取出指定的数。取出的数就不会放回去,并且必须存在并且是当前最小的数,否则就不满足条件。保证加入和取出各 \(n\) 次。试确定一个满足条件的加入数的方案,或者输出无解。
反向考虑,取数变加数,加数变取数,然后就可以直接确定了。确定的过程中判断一下是否有解即可。
CF1421D
给一个被六边形覆盖的平面,并给每个点一个坐标,像 这样。然后现在起点是 \((0,0)\),给你向六个方向走的代价(都是正的),求到 \((x,y)\) 的最短路。
假设是平面直角坐标系会不会做?显然会吧,路径显然是(至多)两根线,枚举两个方向,冲就完了。
为什么路径至多两根线呢?因为考虑一个拐弯,我们可以把拐回来的路径省去不走,像这样:

发现这个性质在六边形上也有,所以我们就枚举两个方向,exgcd 判断一下能否能走到,然后用这个代价更新答案就行了。复杂度 \(O(36\times \log V)\),\(V\) 表示坐标的范围。
CF1423J
数多项式 \(f\):每一项系数都是 \([0,7]\) 间的整数,且 \(f(2)=m\)。多组询问,\(t\le 5e5\)。
\([0,7]\) 正好八个数,八是 \(2^3\)。考虑三个三个拆开,设系数为 \(c\):
\((c_0+8c_3+64c_6\cdots)+(2c_1+16c_4+128c_7\cdots)+(4c_2+32c_5+256c_8\cdots )\)
\(=(c_0+8c_3+64c_6\cdots)+2(c_1+8c_4+64c_7\cdots)+4(c_2+8c_5+64c_8\cdots )\)
其中 \(c\) 中的每个数都是 \([0,7]\) 之间,然后我们可以把三个括号里的每一个式子,和一个自然数一一对应起来(写成八进制)。然后就是:\(X+2Y+4Z=m\)
\(x+2y=m\) 有 \(m/2+1\) 个自然数解。然后枚举 \(Z\),求一下和:
\(\sum\limits_{Z=0}^{m/4} (m-4Z)/2+1=\sum\limits_{Z=0}^{m/4} m/2+1-2Z\)
设 \(S(n)\) 表示 \(1\) 加到 \(n\) 的自然数和。
\(=(m/2+1)\times (m/4+1) - 2S(m/4)\)
然后就可以 \(O(1)\) 算了。还需要代码吗?
CF 板刷总结的更多相关文章
- (NOIP)CSP-S 2019前计划
前言 无 1.NOIP原题板刷 NOIP原题板刷 这是一篇咕了的blog 2.牛客 & ACwing & 洛谷 网课学习 收获还是蛮大的,不过我没有写博客 3.codeforces专项 ...
- ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 5166'
凌晨收到同事电话,反馈应用程序访问Oracle数据库时报错,当时现场现象确认: 1. 应用程序访问不了数据库,使用SQL Developer测试发现访问不了数据库.报ORA-12570 TNS:pac ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- cf Round 613
A.Peter and Snow Blower(计算几何) 给定一个点和一个多边形,求出这个多边形绕这个点旋转一圈后形成的面积.保证这个点不在多边形内. 画个图能明白 这个图形是一个圆环,那么就是这个 ...
- ARC下OC对象和CF对象之间的桥接(bridge)
在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环 ...
- [Recommendation System] 推荐系统之协同过滤(CF)算法详解和实现
1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web ...
- CF memsql Start[c]UP 2.0 A
CF memsql Start[c]UP 2.0 A A. Golden System time limit per test 1 second memory limit per test 256 m ...
- CF memsql Start[c]UP 2.0 B
CF memsql Start[c]UP 2.0 B B. Distributed Join time limit per test 1 second memory limit per test 25 ...
- CF #376 (Div. 2) C. dfs
1.CF #376 (Div. 2) C. Socks dfs 2.题意:给袜子上色,使n天左右脚袜子都同样颜色. 3.总结:一开始用链表存图,一直TLE test 6 (1)如果需 ...
随机推荐
- Redis集群搭建采坑总结
背景 先澄清一下,整个过程问题都不是我解决的,我在里面就是起了个打酱油的角色.因为实际上我负责这个项目,整个过程也比较清楚.之前也跟具体负责的同事说过,等过段时间带他做做项目复盘.结果一直忙,之前做的 ...
- sql操作数据库(3)-->外键约束、数据库表之间的关系、三大范式、多表查询、事务
外键约束 在新表中添加外键约束语法: constraint 外键约束名称 foreign key(外键的字段名称) references 主表表名(主键字段名) 在已有表中添加外键约束:alter t ...
- 解决Github下载仓库慢的正确姿势
上个月刚安装了 Manjaro ,然后最近在Manjaro下载Github的项目竟然只有几十b/s,这能忍?对于下载Github上的代码是硬需求,没办法直接探索一下突破的方法了. 方法一:安装chro ...
- spark的 structStreaming 一些介绍
转发 https://www.toutiao.com/a6696339998905467403/?tt_from=mobile_qq&utm_campaign=client_share& ...
- sql删除重复数据思路
总的思路就是先找出表中重复数据中的一条数据,插入临时表中,删除所有的重复数据,然后再将临时表中的数据插入表中.所以重点是如何找出重复数据中的一条数据,有三种情况 1.重复数据完全一样,使用distin ...
- 日常ie兼容问题(持续整理)
1.关于new Date()格式为何要转成y/m/d格式 IE不会识别时间状态为"y-m-d"的形式,如果获取的new Date("2020-05-01") 那 ...
- [每日一题]面试官问:谈谈你对ES6的proxy的理解?
[每日一题]面试官问:谈谈你对ES6的proxy的理解? 关注「松宝写代码」,精选好文,每日一题 作者:saucxs | songEagle 一.前言 2020.12.23 日刚立的 flag,每日一 ...
- ContactCollections Design Report
通讯录的设计采用了分层+接口+面向对象+文件操作+方法实现 分三层实现,共使用了四个包,实现业务数据访问和界面的分离 contactaccess包实现对文件的访问 包括数据访问 ...
- Spark学习进度10-DS&DF基础操作
有类型操作 flatMap 通过 flatMap 可以将一条数据转为一个数组, 后再展开这个数组放入 Dataset val ds1=Seq("hello spark"," ...
- Oracle 锁表以及解锁
-- kill_exec 列为解锁的语句,copy出来执行即可.select 'alter system kill session ''' || s.sid || ',' || s.serial# | ...