好吧,再一次被水题虐了。

A. Lala Land and Apple Trees

敲码小技巧:故意添加两个苹果树(-1000000000, 0)和(1000000000, 0)(前者是位置,后者是价值)。

B. Amr and The Large Array

找出最长的是哪些数字,然后再对这些数字找最大区间。

我居然还想用两个指针加有限队列维护!TAT

C. Amr and Chemistry

首先,我们可以计算由x变为y的代价。O(1)
于是我枚举了\(a_0\)可以变为哪些数(最多\(m^2\)个,m是二进制的位数),然后O(n)统计大家都变为这个数需要的步数。所有情况取最小值就是答案。时间复杂度\(O(m^2n)\)。


神奇的树:

(不是我画的)

然后我们可以做树DP,O(n)就可以啦。

D. Guess Your Way Out! II

首先可以发现的是,那个高度并没有什么用,全都映射到高度为h的区间就好了。
然后就是区间交、并。

这个我是用了动态开节点的线段树来搞的。

正常解法:
题目给出两种信息,一是[l,r]之间没有出口,二是有出口。如果题目说[l,r]有出口,其实等价与说[\(2^{h-1}\), l)和(r,\(2^h\))都没出口。所以第二种信息可以变为第一种。那么只有一种信息就简单了,排序然后贪心一下就可以了。

E. A Simple Task

主要的思想是用数据结构进行快速的计数排序!没想到还能这么弄。

关于数据结构的话:

To solve Problem E, making a balanced binary tree that each node discribe some same character which located contigeously is much better than 26 segment trees, though both of their time complexities are O(szqlogn). It must because of the quantity of balanced binary tree is usually much less than segment tree. However, if it is sorting a long substring, balanced binary tree would delete many nodes and insert no more than 26 nodes; but the quantity of segment tree would not reduce. ——nodgd

Codeforces Round #312 (Div. 2)的更多相关文章

  1. Codeforces Round #312 (Div. 2) C. Amr and Chemistry 暴力

    C. Amr and Chemistry Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/558/ ...

  2. Codeforces Round #312 (Div. 2)B. Amr and The Large Array 暴力

    B. Amr and The Large Array Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contes ...

  3. Codeforces Round #312 (Div. 2) A. Lala Land and Apple Trees 暴力

    A. Lala Land and Apple Trees Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/cont ...

  4. Codeforces Round #312 (Div. 2) E. A Simple Task 线段树

    E. A Simple Task 题目连接: http://www.codeforces.com/contest/558/problem/E Description This task is very ...

  5. Codeforces Round #312 (Div. 2) E. A Simple Task 线段树+计数排序

    题目链接: http://codeforces.com/problemset/problem/558/E E. A Simple Task time limit per test5 secondsme ...

  6. Codeforces Round #312 (Div. 2) E. A Simple Task

    题目大意就是给一个字符串,然后多个操作,每次操作可以把每一段区间的字符进行升序或者降序排序,问最终的字符串是多少. 一开始只考虑字符串中字符'a'的情况,假设操作区间[L,R]中有x个'a',那么一次 ...

  7. Codeforces Round #312 (Div. 2) C.Amr and Chemistry

    Amr loves Chemistry, and specially doing experiments. He is preparing for a new interesting experime ...

  8. Codeforces Round #312 (Div. 2) B.Amr and The Large Array

    Amr has got a large array of size n. Amr doesn't like large arrays so he intends to make it smaller. ...

  9. Codeforces Round #312 (Div. 2) A.Lala Land and Apple Trees

    Amr lives in Lala Land. Lala Land is a very beautiful country that is located on a coordinate line. ...

  10. Codeforces Round #312 (Div. 2)小结

    爆炸了爆炸了...E题一个裸线段树没打完,A题wa了半天...... 爆炸了爆炸了....爆炸了爆炸了....rank270+滚粗 以后还是得多做模拟题...

随机推荐

  1. 关于GROUP BY的应用

    前面收藏了别人的SQL语句操作,可是没有实战,也未知学的如何 正好今天有个事需要做一下 (sql server 2000) 三个表:stuInf,sType,sinInf分别为学生信息表,类型表,信息 ...

  2. hdoj 1824 Let's go home(2-SAT)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1824 思路分析:该问题为2-SAT问题:需要注意逻辑推理的等价性: (1)题目第一个条件:每一个队或者 ...

  3. 汇编语言学习——第二章 寄存器(CPU工作原理)

    1.一个典型的CPU由运算器.控制器.寄存器等器件组成,这些器件靠内部总线相连. 区别: 内部总线实现CPU内部各个器件之间的联系. 外部总线实现CPU和主板上其它器件的联系. 8086CPU有14个 ...

  4. vs2013 linq to mysql

    安装文件 1.下载安装文件 2.创建项目 3.创建mysql数据连接 4.新建ADO.NET数据模型 项目实现代码 using (WorkerContainer db = new WorkerCont ...

  5. js遍历对象的属性并且动态添加属性

    var person= { name: 'zhangsan', pass: '123' , 'sni.ni' : 'sss', hello:function (){ for(var i=0;i< ...

  6. probing元素

    https://msdn.microsoft.com/zh-cn/library/823z9h8w(v=vs.85).aspx 指定加载程序集时公共语言运行库要搜索的应用程序基子目录. <con ...

  7. nodejs partials 分布视图

    在学习<node.js开发指南>nodejs partials view时,怎么都不能运行成功.经过艰苦探索,终于成功了,分享一下. Cause: nodejs 的express 版本之间 ...

  8. ASP.net体系

  9. LeetCode:链表排序

    Sort a linked list in O(n log n) time using constant space complexity. public class Solution { publi ...

  10. PLSQL developer登录身份证明检索失败的解决办法

    全都在一个下图中: