Educational Codeforces Round 64 部分题解

不更了不更了


CF1156D 0-1-Tree

有一棵树,边权都是0或1。定义点对\(x,y(x\neq y)\)合法当且仅当树上\(x\)到\(y\)的路径权值是一段0接一段1。求合法点对数量。

直接点分治

我是傻逼居然还写了50min。。。

https://codeforces.com/contest/1156/submission/53661175

CF1156E Special Segments of Permutation

有一个排列,求满足\(l\leq r,p_l+p_r=\max_{i=l}^rp_i\)的数对\(l,r\)数量。

枚举最大值的位置,那么\(l,r\)有一个初步的范围就是这个最大值左边第一个大于它的位置+1和右边第一个大于它的位置-1,可以用单调栈处理。

然后在小的那一边中枚举\(p\),在另一边查找是否有合法的。

考虑将序列建树的过程:将序列最大值拿出来,左右的序列分别建树作为两个儿子。

暴力枚举的次数实际上是\(\sum \min(siz[ls],siz[rs])\),即启发式合并的复杂度。

https://codeforces.com/contest/1156/submission/53653009

CF1156F Card Bag

有一堆卡,等概率随机拿出来一个,如果这不是第一次拿则将这张牌的大小与上一张牌大小比较,如果这张牌更大则重复这个过程,更小则你输了,相等则你赢了。最后没有牌你就输了。求获胜概率。

如果赢了那么拿出来的牌是一个递增的序列,最后一个数重复两次。

设\(f[i][j]\)表示抽了\(i\)张卡且没有重复,最后一张大小是\(j\)的概率。直接dp就行了。

https://codeforces.com/contest/1156/submission/53653958

CF1156G Optimizer

有一种辣鸡语言

这个语言的变量名最多4个字符,命名规则是第一个字符是字母,其他字符是字母或者数字。

这个语言的语句只有两种,每一种占一行

  1. 赋值 形如<lvalue>=<rvalue>,如yyb=juju
  2. 还是赋值 形如<lvalue>=<arg1><op><arg2>,其中<op>是一种运算符,有四种,分别是$,#,&,^。如yyb=ak$ioi

比如这是一种合法的程序:

c=aa#bb
d12=c
res=c^d12
tmp=aa$c

一个程序的返回值被定义为程序结束时变量res的值

你可以认为这个程序初始所有变量都有一个随机的值。而运算符<op>所代表的运算是不确定的。定义两个程序是等效的,当且仅当对于每一种相同初始值以及计算规则,这两个程序的返回值相等。

现在萌新写了个程序,你想帮他压行,即写一个与萌新的程序等效的程序,使得你写的程序行数最小。

输出最小行数以及你写的程序。

先来看看有哪些东西可以被压掉

  1. res没有影响的可以压掉
  2. 被重复计算的可以压掉

    比如说a=b^c;d=b^c

    那么计算d显然没有用
  3. 没了

1可以通过实现solve(x,n)表示计算变量xn语句以前的值来实现不计算没有用的

2可以通过哈希在solve的时候判掉

那么就是一个简单的大模拟了

https://codeforces.com/contest/1156/submission/53659024

Educational Codeforces Round 64 部分题解的更多相关文章

  1. Educational Codeforces Round 64部分题解

    Educational Codeforces Round 64部分题解 A 题目大意:给定三角形(高等于低的等腰),正方形,圆,在满足其高,边长,半径最大(保证在上一个图形的内部)的前提下. 判断交点 ...

  2. Educational Codeforces Round 64 (Rated for Div. 2)题解

    Educational Codeforces Round 64 (Rated for Div. 2)题解 题目链接 A. Inscribed Figures 水题,但是坑了很多人.需要注意以下就是正方 ...

  3. Educational Codeforces Round 64(ECR64)

    Educational Codeforces Round 64 CodeForces 1156A 题意:1代表圆,2代表正三角形,3代表正方形.给一个只含1,2,3的数列a,ai+1内接在ai内,求总 ...

  4. Educational Codeforces Round 63部分题解

    Educational Codeforces Round 63 A 题目大意就不写了. 挺简单的,若果字符本来就单调不降,那么就不需要修改 否则找到第一次下降的位置和前面的换就好了. #include ...

  5. Educational Codeforces Round 64 (Rated for Div. 2) A,B,C,D,E,F

    比赛链接: https://codeforces.com/contest/1156 A. Inscribed Figures 题意: 给出$n(2\leq n\leq 100)$个数,只含有1,2,3 ...

  6. Educational Codeforces Round 64 -C(二分)

    题目链接:https://codeforces.com/contest/1156/problem/C 题意:给出n个数和整形数z,定义一对数为差>=z的数,且每个数最多和一个数组成对,求最多有多 ...

  7. Educational Codeforces Round 64 -B(贪心)

    题目链接:https://codeforces.com/contest/1156/problem/B 题意:给一段字符串,通过变换顺序使得该字符串不包含为位置上相邻且在字母表上也相邻的情况,并输出. ...

  8. Educational Codeforces Round 64 (Rated for Div. 2) (线段树二分)

    题目:http://codeforces.com/contest/1156/problem/E 题意:给你1-n  n个数,然后求有多少个区间[l,r] 满足    a[l]+a[r]=max([l, ...

  9. Educational Codeforces Round 64 选做

    感觉这场比赛题目质量挺高(A 全场最佳),难度也不小.虽然 unr 后就懒得打了. A. Inscribed Figures 题意 给你若干个图形,每个图形为三角形.圆形或正方形,第 \(i\) 个图 ...

随机推荐

  1. [BZOJ2739]最远点(DP+分治+决策单调性)

    根据旋转卡壳,当逆时针遍历点时,相应的最远点也逆时针转动,满足决策单调性.于是倍长成链,分治优化DP即可,复杂度O(n^2). #include<cstdio> #include<a ...

  2. CCF 2016-12-1 最大波动

    CCF 2016-12-1 最大波动 题目 问题描述 小明正在利用股票的波动程度来研究股票.小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与 ...

  3. PL/SQL不安装ORACLE客户端

    1.oracle官网下载instantclient,将包解压存放到本地. 在这个路径下D:\oracle-basic\instantclient_12_2\network\admin放入TNS文件. ...

  4. 【洛谷 P2226】 [HNOI2001]遥控赛车比赛(最短路)

    题目链接 首先拆点,把每个点拆成4个点,表示到达这个点的时候赛车的朝向. 然后考虑连边. 相邻同向并且都是可以走的点直接连边权1的边. 至于怎么转向,只需在每个点\(i\)向每个方向一直拓展直到不能走 ...

  5. Linux系统中五款好用的日志分析工具

    监控网络活动是一项繁琐的工作,但有充分的理由这样做.例如,它允许你查找和调查工作站和连接到网络的设备及服务器上的可疑登录,同时确定管理员滥用了什么.你还可以跟踪软件安装和数据传输,以实时识别潜在问题, ...

  6. Tortoise SVN常见图标含义及图标无法正常解决方法!

    转自:https://blog.csdn.net/xh16319/article/details/10582455 绿色的勾:图标表示这是一个最新取出的工作副本,他的Subversion状态是norm ...

  7. Swift枚举的全用法

    鉴于昨天开会部门会议讨论的时候,发现有些朋友对枚举的用法还是存在一些疑问,所以就写下这个文章,介绍下Swift下的枚举的用法. 基本的枚举类型 来,二话不说,我们先贴一个最基本的枚举: enum Mo ...

  8. jenkins rpm卸载

    rpm卸载 1.rpm -e jenkins rpm -ql jenkins 检查是否卸载成功 2.彻底删除残留文件:find / -iname jenkins | xargs -n 1000 rm ...

  9. Find 命令记录

    当需要查找一个时间的文件时 使用find [文件目录] -mtime [时间] 例如:查看mysql.bak目录下的1天前的文件 find mysql.bak -mtime 找到此文件之后需要将它移动 ...

  10. centos7 安装Virtualenv

    若想在同一个服务器上,存在多个不同的解析器版本,使用虚拟环境 1.安装虚拟环境 pip3 install virtualenv 2.创建虚拟环境 virtualenv --no-site-packag ...