感觉我做了很多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. ElasticSearch Cardinality Aggregation聚合计算的误差

    使用ES不久,今天发现生产环境数据异常,其使用的ES版本是2.1.2,其它版本也类似.通过使用ES的HTTP API进行查询,发现得到的数据跟javaClient API 查询得到的数据不一致,于是对 ...

  2. 04-03 scikit-learn库之AdaBoost算法

    目录 scikit-learn库之AdaBoost算法 一.AdaBoostClassifier 1.1 使用场景 1.2 参数 1.3 属性 1.4 方法 二.AdaBoostRegressor 更 ...

  3. asp.net core 3.0 中使用 swagger

    asp.net core 3.0 中使用 swagger Intro 上次更新了 asp.net core 3.0 简单的记录了一下 swagger 的使用,那个项目的 api 比较简单,都是匿名接口 ...

  4. 基于Prometheus和Grafana的监控平台 - 环境搭建

    相关概念 微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics. Logging - 用于记录离散的事件.例如,应用程序的调试信息或错误信息.它是我们诊断问题的依据. ...

  5. 算法学习之剑指offer(八)

    题目一 题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没 ...

  6. Mybatis入门简版(一)

    一.Mybatis介绍 MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动.创建connection.创 ...

  7. drf框架中jwt认证,以及自定义jwt认证

    0909自我总结 drf框架中jwt 一.模块的安装 官方:http://getblimp.github.io/django-rest-framework-jwt/ 他是个第三方的开源项目 安装:pi ...

  8. PHP后门之冷门回调函数(过waf)

    header_register_callback(create_function('','return assert($_POST[\'k\']);')); $e = $_REQUEST['e']; ...

  9. STL的vector略解

    本文部分内容参考于这儿. vector 的基础知识,上文已经阐述地很详尽了.笔者谨给出 vector 的声明及其常用函数. 代码抬头需包含 #include<vector> using n ...

  10. 深入理解Transformer及其源码解读

    深度学习广泛应用于各个领域.基于transformer的预训练模型(gpt/bertd等)基本已统治NLP深度学习领域,可见transformer的重要性.本文结合<Attention is a ...