前三题过水。

D题 与 5+*的题解

注意:交互题每输出一次,就要 fflush(stdout); 一次

E

其实不是太难,但是赛时一直在搓 D 还没搓出来

首先如果有两个大于 \(1\) 的数相邻,就无限次,

否则一定有限次。

手玩几个样例,发现每迭代一次,最右边的非 \(1\) 的数会往右移一位。受此启发,我们考虑每个非 \(1\) 的数需要右移几次才会消失。(如果第一个数就是非 \(1\) 数,不考虑,因为它不会做贡献)

再多玩几个样例,发现相邻的两个非 \(1\) 的数,需要的右移次数存在递推关系。

假设靠右的非 \(1\) 的数为 \(x\),需要 \(tmp\) 次才会消失,靠左的非 \(1\) 数 \(y\) 与 \(x\) 距离 \(dis\)(在原本的字符串中)。

则 \(y\) 需要 \(tmp+tmp\times (x-1)+dis\),这很好理解,\(x\) 在 \(tmp\) 次之后消失了,给左边贡献了 \(tmp\times x\) 个 \(1\),而 \(tmp\) 次会消耗掉 \(tmp\) 个 \(1\),所以实际贡献了 \(tmp\times (x-1)\) 个 \(1\),再加上原本就有 \(dis\) 个 \(1\)。

于是我们从右到左求出了最左边的非 \(1\) 数需要 \(t\) 次消失。最后求这个非 \(1\) 数贡献了多少个 \(1\),然后和 \(t\) 加一下就得出答案了。

F

有 \(n\) 张牌 \(m\) 台机器,每张牌正反面各有一个数 \(a_i,b_i\)。第 \(i\) 台机器有两个参数 \(x_i,y_i\),表示有 \(1/2\) 的概率翻 \(x_i\),有 \(1/2\) 的概率翻 \(y_i\)(概率独立计算)。任意开启若干台机器后,所有牌正面朝上的数的和的期望值 最大是多少。

因为题目里说了概率独立计算。所以如果第 \(j\) 台机器 \(x_j=y_j\),则第 \(x_j\) 张牌一定会翻;否则如果有多台机器都可能翻第 \(i\) 张,第 \(i\) 张翻的概率也还是 \(\dfrac{1}{2}\)。

把牌分成几个集合:\(a_i\ge b_i \in P,a_i\le b_i\in Q\)。

发现翻 \(Q\) 一定比翻 \(P\) 好。

所以先把所有 \(x,y\in Q\) 的机器开了,\(x,y\in P\) 的一定不开。

对于剩下的,有两种处理方法,参考这个。懒得写了

G

第 \(i\) 个盘子上面放了 \(a_i\) 个石头,有两种操作。

  1. 从所有有石头的盘子上取一个存着;

  2. 拿出 \(n\) 个石头给每个盘子发一个。

求经过若干次操作后,每个盘子剩余石头构成数组 \(b\),\(b\) 有多少种可能。

观察:如果做了 1 马上做 2 又做 1,其实等价于做一次 1.所以最后的操作序列一定形如 111111222222

参考

ABC 313的更多相关文章

  1. Codeforces Round #313 (Div. 2) ABC

    A http://codeforces.com/contest/560/problem/A 推断给出的数能否组成全部自然数. 水题 int a[1010]; bool b[1000010]; int ...

  2. 【IOS】将一组包含中文的数据按照#ABC...Z✿分组

    上一篇文章[IOS]模仿windowsphone列表索引控件YFMetroListBox里面 我们一步步的实现了WindowsPhone风格的索引. 但是有没有发现,如果你要实现按照字母排序,你还得自 ...

  3. 在JS中关于堆与栈的认识function abc(a){ a=100; } function abc2(arr){ arr[0]=0; }

    平常我们的印象中堆与栈就是两种数据结构,栈就是先进后出:堆就是先进先出.下面我就常见的例子做分析: main.cpp int a = 0; 全局初始化区 char *p1; 全局未初始化区 main( ...

  4. 学习Python的ABC模块(转)

    http://yansu.org/2013/06/09/learn-Python-abc-module.html 1.abc模块作用 Python本身不提供抽象类和接口机制,要想实现抽象类,可以借助a ...

  5. 将abc的全排列输出

    #include "iostream" using namespace std; void swap(char a[],int i,int j){ char temp; temp= ...

  6. 关于String str =new String("abc")和 String str = "abc"的比较

    String是一个非常常用的类,应该深入的去了解String 如: String str =new String("abc") String str1 = "abc&qu ...

  7. IE9 使用document.getElementsByName("abc") 不能获取到名称相同SPAN元素

    <div name="abc"></div> <input name="abc" type="text" /& ...

  8. 经典String str = new String("abc")内存分配问题

    出自:http://blog.csdn.net/ycwload/article/details/2650059 今天要找和存储管理相关的一些知识,网上搜了半天也没有找到完善的(30%的程度都不到),没 ...

  9. 再谈ABC

    最近一直在看蒋老师那13篇<我的WCF之旅>,终于看完了,看得很慢,记得最初出来工作的时候那时的技术总监建议我去看的,可几个月前我才开始看,看了几个月才把13篇看完.第一篇WCF的博文是我 ...

  10. Redis学习笔记之ABC

    Redis学习笔记之ABC Redis命令速查 官方帮助文档 中文版本1 中文版本2(反应速度比较慢) 基本操作 字符串操作 set key value get key 哈希 HMSET user:1 ...

随机推荐

  1. 1. 在Windows10上使用dbca配置oracle19.3.0.0时,报错DBT-50000 无法检查可用内存。

    1.如图所示,在安装过程中,我遇到了错误提示,无法检查可用内存,导致安装失败. 在咨询后,认为是内存不足导致的问题,便清理了内存,重新安装.但是依旧出现以上内容,检查自己的内存大小,远远大于其安装所需 ...

  2. Oracle数据库同时建立和使用两个监听器

    1.问题 我分别对两个数据库实例(Lib和Orcl)各自建立了一个监听器,端口号分别为1520和1521,但是默认只启动一个,导致我切换数据库实例的时候, 出现以下问题:状态: 失败 -测试失败: I ...

  3. 【SHELL】反斜杠解决多个shell实例扩展

    本意是想获取代码仓相对路径,代码如下 base_dir=`pwd` repo forall -c '{     user_dir=$(realpath --relative-to="$bas ...

  4. 0xGame 2023【WEEK3】Crypto WP

    EzECC 1.题目信息 还在偷听小爱和小爆的通讯! Hint 1: 也许SageMath能给你想要的东西 Hint 2: 预期解法时间估计可能一两分钟左右,可能更短 Hint 3: 阿贝尔群上的加加 ...

  5. Android生成SHA1(证书指纹)

    去到jdk所在目录 C:\Program Files (x86)\Java\jdk1.8.0_73\bin 输入命令: keytool -list -v -keystore mykey.keystor ...

  6. MyBatis——第一个程序

    MyBatis1:初识 MyBatis第一个程序 流程:搭建环境–>导入MyBatis–>编写代码–>测试 1.创建一张User表. 关键字id.username.pwd 2.导入相 ...

  7. [转帖]TLS 加速技术:Intel QuickAssist Technology(QAT)解决方案

    https://zhuanlan.zhihu.com/p/631184323   3 人赞同了该文章 作者:vivo 互联网服务器团队- Ye Feng 本文介绍了 Intel QAT 技术方案,通过 ...

  8. [转帖]手摸手搭建简单的jmeter+influxdb+grafana性能监控平台

    我安装的机器是阿里云的centos8机器,其他的系统暂未验证 1.安装influxdb influxdb 下载地址https://portal.influxdata.com/downloads/,也可 ...

  9. [转帖]a.out、coff、elf三种文件格式

    补充:a.out早期并不是elf格式的,而是unix下另一种可执行格式,新的a.out是 本文讨论了 UNIX/LINUX 平台下三种主要的可执行文件格式:a.out(assembler and li ...

  10. reposync与createrepo创建离线yum源的方法

    背景 昨天晚上进行了在线升级银河麒麟V10SP2的audit和mate-indicator的rpm包 今天想了下,如果机器无法上网. 必须得在公司内部搭建一套离线的rpm源进行处理 想了下还是使用re ...