Codeforces #345 Div.1

打CF有助于提高做题的正确率。

Watchmen

题目描述:求欧拉距离等于曼哈顿距离的点对个数。

solution
签到题,其实就是求有多少对点在同一行或同一列。

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

Image Preview

题目描述:给定看一张照片的时间,翻页的时间,把图片翻转的时间。一开始屏幕显示第一张照片,可以向左或向右翻,不能跳过还没有看过的图片,方向不对的图片要先翻转再看,看过的不消耗翻转时间与看照片时间,问在一定时间内,最多能看多少张照片。

solution
易得只会转向一次,即开始时向左翻,然后向右翻,或者一开始向右翻,然后向左翻。部分和处理一下就可以了。

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

Table Compression

题目描述:给出一个矩阵,求另一个矩阵,使得这个矩阵的同一行和同一列的数的大小关系一致,并使这个矩阵的最大值最小,输出这个矩阵。

solution
如果没有相同的数字,那么将每一行每一列分别排序,然后连边,求每个点的最长路径即可。如果有相同数字,就要用并查集来维护这些在同一行同一列相同的数字,再做最长路径。

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

Zip-line

题目描述:给出一个序列,每次修改其中的一个数,求序列最长严格上升子序列,每次修改是单独的,即修改后会还原。

solution
用线段树维护原序列的最长上升子序列(正反)。
答案有两种情况:
1、修改后的数在最优子序列中,这时答案为(正向最大+反向最大)线段树求。
2、修改后的数不在最优子序列中,所以答案应该是原序列的最长上升子序列或次长序列。问题转化为该位置是否在原序列的所有最优解中,是则答案为原序列最优解减一,否则为最优解。
这个问题可以通过先求原序列最优解,然后看最优解序列的某一位是否是唯一的位置,如果是,该位置则是一定出现在所有最优解中,否则反之。

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

Clock Bomb

题目描述:给出一棵树,现在要把它变成另一种形态,操作为删掉一条边,再加一条边,此过程中不能出现有环(包括自环),输出操作方案。

solution
这题还没想出怎么做,但删去一条边后就会把树分成两部分,而后来加上去的边一定要在这两部分之间相连。

Codeforces #345 Div.1的更多相关文章

  1. codeforces #345 (Div. 1) D. Zip-line (线段树+最长上升子序列)

    Vasya has decided to build a zip-line on trees of a nearby forest. He wants the line to be as long a ...

  2. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  3. Codeforces #344 Div.2

    Codeforces #344 Div.2 Interview 题目描述:求两个序列的子序列或操作的和的最大值 solution 签到题 时间复杂度:\(O(n^2)\) Print Check 题目 ...

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

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

  5. Codeforces#441 Div.2 四小题

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

  6. codeforces #592(Div.2)

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

  7. codeforces #578(Div.2)

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

  8. codeforces #577(Div.2)

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

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

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

随机推荐

  1. Silverlight 结合ArcGis 使用inforwindow

    原文 http://www.dotblogs.com.tw/justforgood/archive/2012/05/10/72089.aspx 也许有些人不知道什么事inforwindow,简单来说就 ...

  2. ListView中分割线的设置

    1.在布局文件中ListView元素中通过属性设置 android:divider="#fffff" 分割线颜色 android:dividerHeight="1px&q ...

  3. Why Functional Programming Matters

    http://hi.baidu.com/lhurricane/item/35b57e12a1e3c5ddbf9042a7 http://blog.csdn.net/ddwn/article/detai ...

  4. css案例学习之ul li dl dt dd实现二级菜单

    效果 代码实现 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...

  5. 转:C#中的委托和事件(续)

    引言 如果你看过了 C#中的委托和事件 一文,我想你对委托和事件已经有了一个基本的认识.但那些远不是委托和事件的全部内容,还有很多的地方没有涉及.本文将讨论委托和事件一些更为细节的问题,包括一些大家常 ...

  6. 【转】Android下编译jni库的二种方法(含示例) -- 不错

    原文网址:http://blog.sina.com.cn/s/blog_3e3fcadd01011384.html 总结如下:两种方法是:1)使用Android源码中的Make系统2)使用NDK(从N ...

  7. php 原理相关

    [PHP 运行方式(PHP SAPI介绍)] http://www.phpddt.com/php/php-sapi.html [PHP内核探索:从SAPI接口开始]http://www.nowamag ...

  8. python 性能优化

    1.优化循环 循环之外能做的事不要放在循环内,比如下面的优化可以快一倍 2.使用join合并迭代器中的字符串 join对于累加的方式,有大约5倍的提升 3.使用if is 使用if is True比i ...

  9. 详细介绍Qt,ffmpeg 和SDL开发

        Qt 与 ffmpeg 与 SDl 教程是本文要介绍的内容,从多个角度介绍本文,运用了qmake,先来看内容. 1.  注释 从“ #” 开始,到这一行结束. 2.  指定源文件 1.     ...

  10. C#的简单的Windows Service 创建与安装

    注意事项: 1. 添加调试代码 入口: 服务: 2. 再服务界面右键添加安装程序 3. 修改安装程序属性(Account) 4. 修改服务安装属性(DelayedAutoStart,ServiceNa ...