感觉我做了很多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. Android OkHttp + Retrofit 取消请求的方法

    本文链接 前言 在某一个界面,用户发起了一个网络请求,因为某种原因用户在网络请求完成前离开了当前界面,比较好的做法是取消这个网络请求.对于OkHttp来说,具体是调用Call的cancel方法. 如何 ...

  2. .netCore+Vue 搭建的简捷开发框架 (4)--NetCore 基础 -2

    上节中,我们初步的介绍了一下NetCore的一些基础知识,为了控制篇幅(其实也是因为偷懒),我将NetCore 基础分为两部分来写. 0.WebAPI 项目的建立 1..NetCore 项目执行(加载 ...

  3. github代码仓库提示:“We found a potential security vulnerability in one of your dependencies”

    问题描述: Github上传代码后出现这样的错误: We found a potential security vulnerability in one of your dependencies. A ...

  4. 【NOIP2009】道路游戏

    Description 小新正在玩一个简单的电脑游戏. 游戏中有一条环形马路,马路上有 nn 个机器人工厂,两个相邻机器人工厂之间由一小段马路连接.小新以某个机器人工厂为起点,按顺时针顺序依次将这 n ...

  5. asp.net core 腾讯验证码的接入

    asp.net core 腾讯验证码的接入 Intro 之前使用的验证码服务是用的极验验证,而且是比较旧的,好久之前接入的,而且验证码服务依赖 Session,有点不太灵活,后来发现腾讯也有验证码服务 ...

  6. Beautiful Soup 4.2.0 文档(一)

    Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时 ...

  7. VMware15.5版本下安装CentOS_7_64bit

    本文介绍在VMware15.5版本下安装CentOS7. 工具准备: 1.VMware15.5版本 2.CentOS 7 64bit ISO镜像文件 一.创建虚拟机 这部分请参照我的另一个博客“一.新 ...

  8. 如何正确的在 Android 上使用协程 ?

    前言 你还记得是哪一年的 Google IO 正式宣布 Kotlin 成为 Android 一级开发语言吗?是 Google IO 2017 .如今两年时间过去了,站在一名 Android 开发者的角 ...

  9. 2019年高级Java程序员面试题汇总

    目录 JDK Dubbo Zookeeper Strut2 Spring系列 Redis系列 Mysql系列 Java多线程 消息中间件 线程池 事物 JVM 设计模式 其他 程序设计 基础知识 编程 ...

  10. 【Java必修课】ArrayList与HashSet的contains方法性能比较(JMH性能测试)

    1 简介 在日常开发中,ArrayList和HashSet都是Java中很常用的集合类. ArrayList是List接口最常用的实现类: HashSet则是保存唯一元素Set的实现. 本文主要对两者 ...