Codeforces #344 Div.2

Interview

题目描述:求两个序列的子序列或操作的和的最大值

solution
签到题

时间复杂度:\(O(n^2)\)

Print Check

题目描述:有一个棋盘,对其进行染色,每次染一行或一列,后来的颜色会覆盖原来的颜色,输出最后的棋盘。

solution
题解用二维线段树,其实可以不用。
对染色进行离线操作,那么染过的格子、行、列就不用再染了。所以每个格子可以记录四个指针,分别是行前驱,行后继,列前驱列后继,染色时按照这个跳着来染就好了。

时间复杂度:\(O(\alpha(nm) nm)\)

Report

题目描述:给出一个序列,操作为选定一个位置\(i\),然后把序列前\(i\)个数按升序或降序排列,输出最后的序列

solution
经观察可得,对于先后两个操作,如果后者的\(i\)大于前者的,则相当于前者没有操作。所以可以对操作进行删减,使得操作的范围是递减的,然后用线段树维护最大最小值即可。

时间复杂度:\(O(nlogn)\)

Messenger

题目描述:一个字符串将以若干个字符区间的形式给出:\((s, ch)\),表示该区间为\(s\)个\(ch\)字符组成,然后把这些区间连起来就是完整的字符串。给出两个这样的字符串,问二串在一串中的出现次数。

solution
先将相邻的同字符区间进行合并,假设二串有\(m\)个区间,那么第\(2\)个区间到第\(m-1\)个区间一定要与一串区间一一对应,区间\(1\)和\(m\)可以只匹配一串的区间的一部分。那么就相等于把区间\(2\)到区间\(m-1\)看成一个新串,然后做KMP,算答案时判断头尾是否可行就可以了。
要特判\(m=1,2\)的情况。

时间复杂度:\(O(n)\)

Product Sum

题目描述:给出一个序列,序列的值为\(\sum_{i=1}^{n} a_i \cdot i\),现将一个数取出,然后任意找一个地方放回,只能操作一次,为序列的值的最大值。

solution
我们可以求修改之后的序列的值与原序列的值的差。
对于区间\([L, R]\),如果把\(a_L\)放到位置\(R\)则差为(\(sum\)为前缀和)
\(sum_L-a_L \cdot L + a_L \cdot R -sum_R\)
如果把\(a_R\)放到位置\(L\)则差为
\(sum_{R-1}-a_R \cdot R + a_R \cdot L -sum_{L-1}\)

枚举左端点或右端点,式子的前两项为定值,后两项可看成是直线,那么就可以用线段树维护凸壳。

时间复杂度:\(O(nlogn)\)

Codeforces #344 Div.2的更多相关文章

  1. Codeforces #345 Div.1

    Codeforces #345 Div.1 打CF有助于提高做题的正确率. Watchmen 题目描述:求欧拉距离等于曼哈顿距离的点对个数. solution 签到题,其实就是求有多少对点在同一行或同 ...

  2. Codeforces Beta Round #27 (Codeforces format, Div. 2)

    Codeforces Beta Round #27 (Codeforces format, Div. 2) http://codeforces.com/contest/27 A #include< ...

  3. Codeforces#441 Div.2 四小题

    Codeforces#441 Div.2 四小题 链接 A. Trip For Meal 小熊维尼喜欢吃蜂蜜.他每天要在朋友家享用N次蜂蜜 , 朋友A到B家的距离是 a ,A到C家的距离是b ,B到C ...

  4. codeforces #592(Div.2)

    codeforces #592(Div.2) A Pens and Pencils Tomorrow is a difficult day for Polycarp: he has to attend ...

  5. codeforces #578(Div.2)

    codeforces #578(Div.2) A. Hotelier Amugae has a hotel consisting of 1010 rooms. The rooms are number ...

  6. codeforces #577(Div.2)

    codeforces #577(Div.2) A  Important Exam A class of students wrote a multiple-choice test. There are ...

  7. codeforces #332 div 2 D. Spongebob and Squares

    http://codeforces.com/contest/599/problem/D 题意:给出总的方格数x,问有多少种不同尺寸的矩形满足题意,输出方案数和长宽(3,5和5,3算两种) 思路:比赛的 ...

  8. Codeforces Round #344 (Div. 2) A. Interview

    //http://codeforces.com/contest/631/problem/Apackage codeforces344; import java.io.BufferedReader; i ...

  9. Codeforces Round #344 (Div. 2) A

    A. Interview time limit per test 1 second memory limit per test 256 megabytes input standard input o ...

随机推荐

  1. SqlConnection类

    一.常用属性 ConnectionString  获取或设置用于打开 SQL Server 数据库的字符串. (重写 DbConnection.ConnectionString.) Connectio ...

  2. codecomb 2086【滑板鞋】

    题目背景 我的滑板鞋时尚时尚最时尚 回家的路上我情不自禁 摩擦 摩擦 在这光滑的地上摩擦 月光下我看到自己的身影有时很远有时很近 感到一种力量驱使我的脚步 有了滑板鞋天黑都不怕 题目描述 你在魅力之都 ...

  3. POJ1094 Sorting It All Out(拓扑排序)

    Sorting It All Out Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 30110   Accepted: 10 ...

  4. 微型 Python Web 框架 Bottle - Heroin blog

    微型 Python Web 框架 Bottle - Heroin blog 微型 Python Web 框架 Bottle

  5. Gradle+Jetty实现静态资源的热部署

    本文转自http://www.cnblogs.com/huang0925/p/3302487.html --------------------------------------- 通过Gradle ...

  6. iOS openURL方法实现打电话、发短信、发邮件、打开其他App

    UIApplication有个功能十分强大的openURL:方法 - (BOOL)openURL:(NSURL*)url; 通过这个方法,我们可以实现: 先获取 UIApplication UIApp ...

  7. Linux FTP安装与简单配置

    1.检測是否原有启动 ps -ef|grep vsftpd 2.检測是否有安装包 rpm -qa|grep vsftpd 3.假设有输出.查看状态并启动 service vsftp status  - ...

  8. android 硬件解码学习

    FileInputStream in = new FileInputStream("/sdcard/sample.ts"); String mimeType = "vid ...

  9. JavaScript与Java的区别

    关于java和javascript的关系,我曾在一个论坛上看过这样一句话,java和javascript的关系,就好比雷锋和雷峰塔的关系,实在是经典! 因为名字的关系,总是有人误以为Javascrip ...

  10. NPOI新建和读取EXCEL

    //基本NPOI 1.2.5.0 static void Main(string[] args) { string path = string.Format("E:\\export{0}.x ...