AC代码连接

A Phoenix and Balance

显而易见,将前\(\frac{n}{2}-1\)个和最后1个分为1组,剩下的1组即为最优方案。

B Phoenix and Science

这题直接构造。

设\(a\)中不重复的值的个数为\(cnt\)。

如果\(cnt>k\)无解。

如果\(cnt < k\)那么将其补到k;如果\(cnt=k\)则不操作;然后按小到大输出所有不重复的值,重复\(n\)次。

C Phoenix and Distribution

分类讨论一下完事了。

将输入的串\(s_{0,1,..n-1}\)排序。

特判\(k=1\)。

  • 如果全是相同的字符,就平均分配。
  • 如果最小的字符的个数大于\(k\)个
    • 如果\(s_k == s_{n-1}\),那么将前\(k\)个字符分为\(k\)组,剩下的平均分配。
    • 否则,将前\(k\)个字符按顺序分为\(k\)组,剩下的字符全给第\(1\)组,字典序最大的必定是第\(1\)组。
  • 否则,将前\(k\)个字符按顺序分为\(k\)组,剩下的字符全给第\(1\)组,字典序最大的必定是第\(k\)组。

D Phoenix and Science

这题逆向思维做。

题目几乎是在明示只考虑每天的增量。

经过简单的推导,可以得到两个性质

  1. 在第\(i\)天可以到达的范围是\([i, 2^i-1]\)。
  2. 每天的增量不减。

所以天数就是满足\(2^d-1 \ge n\)的\(d\)的最小值。

从最后一天开始跑,只要跑到前一天可达的范围且满足增量不减就行了。

总结

前4题都是比较简单的,但是最近刷题太少了状态下滑严重。还是需要尽可能地保持竞技状态吧。。。

D题非常有意思,我还是受之前GCJ round1B A题dls的解法启发才想出来的。

Codeforces1348 题解的更多相关文章

  1. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  2. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  3. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  4. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

  5. 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解

    题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...

  6. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  7. poj1399 hoj1037 Direct Visibility 题解 (宽搜)

    http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...

  8. 网络流n题 题解

    学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...

  9. CF100965C题解..

    求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...

随机推荐

  1. ios 浅谈一下UITextFiled UITextView 在tableview的cell上边展示

    最近在项目中.要做到在tableview的cell上边加一个输入框.允许用户输入. 1.我首先选的是在uitextView  然后在通知键盘出现的时候,将tableview的内容设置在键盘的上边.但是 ...

  2. SpringBoot中使用AOP打印接口日志的方法(转载)

    前言 AOP 是 Aspect Oriented Program (面向切面)的编程的缩写.他是和面向对象编程相对的一个概念.在面向对象的编程中,我们倾向于采用封装.继承.多态等概念,将一个个的功能在 ...

  3. Qt数据库 QSqlTableModel实例操作(转)

    本文介绍的是Qt数据库 QSqlTableModel实例操作,详细操作请先来看内容.与上篇内容衔接着,不顾本文也有关于上篇内容的链接. Qt数据库 QSqlTableModel实例操作是本文所介绍的内 ...

  4. eureka和feign的使用

    1 eureka和feign的简介(copy来的) eureka:Eureka是Netflix开发的服务发现组件,本身是一个基于REST的服务.Spring Cloud将它集成在其子项目spring- ...

  5. cocos-2d解决rapidjson的string参数转换

    解决方法 AddMember的传入的参数不是string, 所以会报错 本质就是把string类型转换成 参数的类型 username = "string"; rapidjson: ...

  6. Android 开发学习进程0.12 自定义view activity的属性

    设置类似钉钉或tel的圆形用户名首字母头像 设置有两种方法,一是使用已有的库或自定义的view组件,但如果确定只是文字头像,也可使用textview的backgrou属性,调整资源文件使textvie ...

  7. LOJ10048. 「一本通 2.2 练习 4」Censoring

    作者是个* 题目描述 原题来自:USACO 2015 Feb. Silver 给出两个字符串\(S\)和\(T\),每次从前往后找到\(S\)的一个子串\(T\)并将其删除,空缺位依次向前补齐,重复上 ...

  8. 遍历数组,对象和JSON

    遍历数组 var arr2 = [3,4,5,6,7,8]; //第一种方法 for(var i =0;i<arr.length;i++){ console.log(arr2[i]); } // ...

  9. 关于Java中for循环的i++和++i区别

    我们应该都知道i++和++i的区别是: ++i是先执行 i = i +1 再使用 i 的值,而 i++ 是先使用 i 的值再执行 i = i + 1: for循环的执行顺序如下: for(a;b;c) ...

  10. 第2章 RDD编程(2.3)

    第2章 RDD编程(2.3) 2.3 TransFormation 基本RDD Pair类型RDD (伪集合操作  交.并.补.笛卡尔积都支持) 2.3.1 map(func) 返回一个新的RDD,该 ...