感觉我做了很多CF题,零零碎碎,而且几乎都是水题
所以感觉用处不大。。所以稍微理一理。。。

那就从我打的第一场CF Round #500 开始。
这个数字好整啊(胡说,512才整)

为了方便看中文题意,链接就放洛谷的好了。

依然是给我自己看的,所以是不知所云系列。

\(\bf {Round \ \#500 \ (Div. \ 1)}\)

  • D. AB-Strings 每次操作尽量都让段数-2,用个链表维护串串,一堆特判就过了,人类智慧题(所以这题的核心大概是对各种特殊情况的判断)
  • E. Cycle sortloj 上的翻译好一点。观察到一个结论,任何排列都可以两步换出——先换大圈,再换小圈的第一个,但这样换的总次数多了圈数次。所以再考虑下 \(s\) 的限制,并且要把所有圈圈尽量连的大一点。(怎么这么烦,还要输出方案QAQ)

\(\bf {Round \ \#589 \ (Div. \ 2)}\)

  • D. Complete Tripartite 容易发现两个没边的点一定在同一个set里,所以暴力就好了,注意压复杂度。
  • E. Another Filling the Grid
    用 \(f[i][0/1]\) 表示一行里前 \(i\) 个数有无 \(1\) 的方案数,可以DP,或者显然 \(f[i][0]=(k-1)^i\) ,\(f[i][1]=k^i-(k-1)^i\)
    容斥:\(ans=\sum_{i=0}^{n-1}(-1)^i \cdot {n \choose i} \cdot (k-1)^{ni} \cdot f[n-i][1]^n\)
    DP:用 \(g[i]\) 表示 \(n \times i\) 矩阵合法的情况, \(g[i]=f[i][1]^n-\sum_{j=1}^{i-1} {i \choose j} \cdot (k-1)^{ni} \cdot g[i-j]\)
    比赛时我两种都写了,两种都写错了。。。不想说啥了。。。。。。
  • F. One Node is Gone 好像从度数入手就可以了?没啥意思的分类讨论题,不太想写

\(\bf {Avito \ Cool \ Challenge \ 2018}\)

  • G. Mergesort Strikes Back 看了 \(n^n\) 次的题,依然想不出来。首先我们考虑两个序列的归并,我们可以将这两个序列分成若干块,块的起点满足它左边的数字全部比它小,然后归并就相当于把块按起点排序。再考虑计算两个底层块的贡献,发现第一个块的第 \(i\) 个数和第二个块的第 \(j\) 个数对答案的贡献是 \(\frac{i+j-2}{2(i+j)}=\frac{1}{2}-\frac{1}{i+j}\)(如果这 \(i+j\) 个数的最大值在 \(i\) 或 \(j\) 上必然不贡献逆序对,否则有一半的概率贡献逆序对)。

\(\bf {Round \ \#545 \ (Div. \ 1)}\)

  • F. Matches Are Not a Child's Play 发现 up x 操作就是把之前的根到 \(x\) 这一段丢到删除序列的最后,所以可以用LCT维护,up实际上就变成了makeroot。然后可以考虑给每条实链一个标号,表示删除顺序,一个点在删除序列中的位置=标号比它小的点数+splay里右儿子的数量,标号比它小的点数可以用树状数组维护前缀和……因为愚蠢的错误续了两天。。

\(\bf {Round \ \#454 \ (Div. \ 1)}\)

  • 454和545可还行。。
  • D. Power Tower 扩展欧拉定理:当 \(b \geq \varphi(p)\) 时,有\(a^b \equiv a^{b \ mod \ \varphi(p)+\varphi(p)} (mod \ p)\)
    一个数经过logn次不停取phi就会变成1,所以递归算就行了。但是写着很晕。。要把快速幂也改成扩展欧拉定理的形式……

\(\bf {Round \ \#575 \ (Div. \ 3)}\)

  • F. K-th Path 这个数据范围是假的。只要前 \(K\) 小的边,然后跑 floyd,复杂度有点炸,但是 O(可过)

\(\bf Codefest \ 19\)

  • C. Magic Grid 简单构造题,复读即可。
  • D. Restore Permutation 从后往前确定,每次在树状数组上二分就行了。
  • F. Bits And Pieces 题解给的做法是SOS DP。。然后我自己乱搞。倒着加数,每次求当前数和后面的最大Or,这个很好求,以前XJ模拟题做过。然后改成 \(a_j\&a_k\) ,只要保证那一位有两个 \(1\) 就行了……

\(\bf {Round \ \#592 \ (Div. \ 1)}\)

  • A. Ivan the Fool and the Probability Theory 可以发现要么每行黑白相间要么每列黑白相间,所以只要确定第一行或者第一列整个都确定了,所以答案是 \(2(fib_n+fib_m-1)\) ,-1是因为要把行列都黑白相间的减掉。。

  • B. The World Is Just a Programming Task (Hard Version) 其实把括号序列变成正负1之后求前缀和,那个美丽度就是最小值的个数……

    先随便找一个正确循环表示法,然后可以证明只用考虑交换一对匹配括号。一种情况是交换第一层的括号,交换后的美丽度就是括号里套的第二层括号个数+1。另一种是交换第二层的括号,就是原来的+括号里套的+2 。。

  • D. Catowice City 可以发现如果A与B的猫有边,那么选了B的猫就一定要选A的猫。于是给B的猫和A的猫连一条有向边,跑SCC就行了。

  • E. Turtle 首先如果确定了第一行放哪些数,那显然最优的方法是第一行从小到大第二行从大到小……然后大胆猜测乌龟最后走的路径应该是走完第一行再下去或者一开始就下去,于是上背包就好了。需要一定程度的魔改……

\(\bf {Round \ \#576 \ (Div. \ 1)}\)

  • C. Matching vs Independent Set 大力猜测必然存在,然后随机就可以出解……正常的做法是在读入的边中依次找出两端点没有被标记的边并给端点打上标记,如果标记的边 \(\geq n\) ,那么显然选这些边就好了,否则没标记过的点肯定 \(\geq n\) ,\(3n\) 个点的意义就在这里……

一句话CF的更多相关文章

  1. CF dp 一句话解题

    wyq说刚入门oi 或是遇到瓶颈的时候就刷DP吧,虽然觉得这么刷CF题有点浪费,但是还是挺爽的,按照solved排序做的,前面的题都挺水的(忘记记录了混蛋),就不写了,从5C开始写解题 CF5 C. ...

  2. 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 ...

  3. js小练习去掉指定的字符组成一句话输出

    今天在codewar做练习题时,要求写一个函数把一个字符串去掉WUB这些多余的字符然后把剩下的组成一句话输出,如传入"WUBAWUBBWUBCWUB"后返回"A B C& ...

  4. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  5. cf Round 613

    A.Peter and Snow Blower(计算几何) 给定一个点和一个多边形,求出这个多边形绕这个点旋转一圈后形成的面积.保证这个点不在多边形内. 画个图能明白 这个图形是一个圆环,那么就是这个 ...

  6. ARC下OC对象和CF对象之间的桥接(bridge)

    在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环 ...

  7. [Recommendation System] 推荐系统之协同过滤(CF)算法详解和实现

    1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web ...

  8. 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 ...

  9. 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 ...

随机推荐

  1. InfluxDB从原理到实战 - 什么是InfluxDB

    0x00 什么是InfluxDB InfluxDB是一个由InfluxData开发的开源时序型数据库,专注于海量时序数据的高性能读.高性能写.高效存储与实时分析等,在DB-Engines Rankin ...

  2. Rust入坑指南:坑主驾到

    欢迎大家和我一起入坑Rust,以后我就是坑主,我主要负责在前面挖坑,各位可以在上面看,有手痒的也可以和我一起挖.这个坑到底有多深?我也不知道,我是抱着有多深就挖多深的心态来的,下面我先跳了,各位请随意 ...

  3. opencv之形态变换

    形态变换 在opencv之膨胀与腐蚀中介绍了Dilation/Erosion的原理.建议先读这一篇,搞懂原理. 这样就可以很轻松地理解为什么本文的这些形态变换可以取得相应的效果. 基于此,我们可以组合 ...

  4. MYSQL SQL语句 之 select

    select语句在数据库操作中是操作频率最高的语句,使用方式也是多种多样,它的基本功能是:从表中选取数据,结果存储在一个结果集中.可以联合where,and,or,Order By,distinct, ...

  5. Python高级核心技术97讲 ☝☝☝

    Python高级核心技术97讲  ☝☝☝ Python高级核心技术97讲 系列教程 学习 教程 Python的标准整数类型是最通用的数字类型.在大多数32位机器上,标准整数类型的取值范围是-2**31 ...

  6. 渗透测试-基于白名单执行payload--Odbcconf

    复现亮神课程 基于白名单执行payload--Odbcconf 0x01 Odbcconf简介: ODBCCONF.exe是一个命令行工具,允许配置ODBC驱动程序和数据源. 微软官方文档:https ...

  7. Halcon一日一练:图像分割之阈值分割1

    先了解什么是阈值,度娘告诉我的是:一个领域或一个系统的界限称为阈,其数值称为阈值.在图像中,我们把图像看成一个由像素灰度值组成的数集,那么阈,就是这个图像中,根据目标与背景灰度值的差异,选取的一个合适 ...

  8. .NET Core 3.0 里新的JSON API

    为什么需要新的JSON API? JSON.NET 大家都用过,老版本的ASP.NET Core也依赖于JSON.NET. 然而这个依赖就会引起一些版本问题:例如ASP.NET Core某个版本需要使 ...

  9. vue-cli3 关闭一直运行的 /sockjs-node/info?t= ...

    首先 sockjs-node 是一个JavaScript库,提供跨浏览器JavaScript的API,创建了一个低延迟.全双工的浏览器和web服务器之间通信通道. 本地项目运行就会自动去访问:http ...

  10. 利用ansible书写playbook在华为云上批量配置管理工具自动化安装ceph集群

    首先在华为云上购买搭建ceph集群所需云主机: 然后购买ceph所需存储磁盘 将购买的磁盘挂载到用来搭建ceph的云主机上 在跳板机上安装ansible 查看ansible版本,检验ansible是否 ...