前三题过水。

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. python常见面试题讲解(七)合并表记录

    题目描述 数据表记录包含表索引和数值(int范围的整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出. 输入描述: 先输入键值对的个数然后输入成对的in ...

  2. 时空图预测的方法论,以及 diffusion model 基本概念

    前天和善良的同学聊天,请教了 ① 时空图预测的方法论,② diffusion model 基本概念,记录下来. ① 时空图预测的方法论: 首先,构造 0 ~ t-1 时刻的 t 个图,每个图都有 n ...

  3. 搭建 spring boot + mybatis plus 项目框架并进行调试

    本文为博主原创,未经允许不得转载: 1.创建一个spring boot的工程应用: File ---- > New ----->Project ----> 然后选中Spring In ...

  4. 基于python开发的口罩供需平台

    基于python开发的口罩供需平台 预览地址:https://i.mypython.me 开发语言:python/django 意见反馈:net936艾特163.com

  5. SpringBoot实现限流注解

    SpringBoot实现限流注解 在高并发系统中,保护系统的三种方式分别为:缓存,降级和限流. 限流的目的是通过对并发访问请求进行限速或者一个时间窗口内的的请求数量进行限速来保护系统,一旦达到限制速率 ...

  6. [转帖]SQL Server高级进阶之索引碎片维护

    https://www.cnblogs.com/atomy/p/15268589.html 一.产生原因及影响 索引是数据库引擎中针对表(有时候也针对视图)建立的特别数据结构,用来帮助查找和整理数据, ...

  7. [转帖]Oracle11g实现只读表方法

    1.1 ALTER TABLE tab_name READ ONLY 参考:https://www.cnblogs.com/chinas/p/8440460.html Oracle 11g开始支持设置 ...

  8. [转帖]一文看懂Linux内核页缓存(Page Cache)

    https://kernel.0voice.com/forum.php?mod=viewthread&tid=629   玩转Linux内核 发布于 2022-8-9 22:19:08 阅读  ...

  9. [转帖]11GR2数据库审计日志自动清理

    审计日志如果把SYSTEM表空间撑爆,也会导致数据库停摆,且11g默认审计是开启状态. 今天就遇到了这样的情况,写了下面脚本来实现自动清理工作,记录操作过程. TRUNCATE TABLE SYS.A ...

  10. [转帖]echo “新密码”|passwd --stdin 用户名

    https://www.cnblogs.com/rusking/p/6912809.html --stdin This option is used to indicate that passwd s ...