UOJ Test Round 1
第一题:
题目大意:
给出N个字符串,字符串的前面部分都是字母且都是一样的,后面部分是数字,按照后面的数字排序。N<=10000
解题过程:
1.第一题是真良心,一开始的做法是把后面的数字分离出来 比较大小,但是出现了傻逼错误样例过不去,就直接换了种方法,先比较长度再比较字典序。 结果就AC了。
2.如果按照最初的做法分离数字只能拿到70分,因为题目没说后面数字的范围,实际上是会爆long long的。
第二题:
题目大意:
有N个任务,每个任务有一个优先级p(各不相同),到达时间s,完成所需要的时间t. 每次会选择一个已经到达的且优先级最大的任务,让它的t减去1. 现在有一个任务的优先级不见了(定为-1),但是知道它是在时间T完成的。要你求出这个任务的一个可能的优先级 已经所有任务的完成时间。 N<=300000.
解题过程:
1.很容易想到用大根堆来模拟,先把时间离散化,然后根据时间来模拟。当模拟到任务x(优先级未知的那个)的时候再来特殊考虑。
2.当模拟到任务x的开始时间的时候,对它造成影响的任务只可能是当前堆里的任务以及开始时间在T之前的任务。所以把这些任务都放到一个表里,然后按照优先级来排序。由于题目保证有解,所以只要确定这个任务的优先级的范围就可以了。由于优先级比这个任务大的任务肯定要比它先做,所以当这些任务的耗时的和加上任务x的耗时等于T-Sx 的时候,就可以确定这个任务的优先级了。由于所有优先级不同,还要用一个set来搞。 总之细节上很容易出错,感谢WJZ大神的点拨才木有爆0.
第三题:
有一棵n个结点的黑白相间的大树,从1到n编号。
这棵黑白树中有m个黑点,其它都是白点。
对于一个黑点我们定义他的好朋友为离他最远的黑点。如果有多个黑点离它最远那么都是它的好朋友。两点间的距离定义为两点之间的最短路的长度。
现在你要摧毁一个白点。
摧毁后有一些黑点会不高兴。一个黑点不高兴当且仅当他不能到达任何一个在摧毁那个白点前的好朋友。
请你你最大化不高兴的黑点数。
解题过程:
1.比赛的时候把时间都花在了第2题,这题自然就爆0了。
2.AC算法:直接看vfk的吧 http://uoj.ac/blog_show.php?id=12
总结:
1.总体来说还是时间把握的不是很好,T3其实可以暴力骗个二三十分的,看到T2这么变态就放弃治疗了。
2.做题还是要静下心来,一个算法碰到了一个瓶颈,不要轻易放弃,说不定只要加点东西就变成正解了。
UOJ Test Round 1的更多相关文章
- UOJ Easy Round#7
UOJ Easy Round#7 传送门:http://uoj.ac/contest/35 题解:http://matthew99.blog.uoj.ac/blog/2085 #1 题意: 在一个(2 ...
- UOJ Test Round #2
昨天晚上打的这个比赛,简直一颗赛艇啊-- 感觉发挥的并不好.比赛的时候比较紧张,最后一题还脑残写了个离散化结果爆零了,哎我怎么这么逗逼-- 讲讲比赛经过吧. 比赛之前逗逼地以为是8:00开始,然后淡定 ...
- 【UOJ Easy Round #1】
数论/Trie/并查集 猜数 这题我是这样分析的…… $a*b=g*l=n=k^2 \ and \ (g|a,g|b) \Rightarrow (g*a')*(g*b' )=g*l=k^2 \\ \R ...
- UOJ Easy Round #5
Preface 本着刷遍(只刷一遍)各大OJ的原则我找到了一场UOJ的比赛 无奈UOJ一般的比赛难度太大,我就精选了UER中最简单的一场打了一下,就当是CSP前的练习吧 A. [UER #5]万圣节的 ...
- 【UOJ Easy Round #2】
然而UER我也照样跪…… 第一题 忘了取模sad || 操作符将整个区间分成了一些段,每个手机只会执行其中某一段,执行次数为这一段中&&的个数?+1? ans=ans*num[i]+1 ...
- UOJ Rounds
UOJ Test Round #1 T1:数字比大小的本质是按(长度,字典序)比大小. T2:首先发现单调性,二分答案,用堆模拟,$O(n\log^2 n)$. 第二个log已经没有什么可优化的了,但 ...
- 51Nod 算法马拉松21(迎新年)
这次打算法马拉松是在星期五的晚上,发挥还算正常(废话,剩下的题都不会= =). 讲讲比赛经过吧. 8:00准时发题,拿到之后第一时间开始读. A配对,看上去像是二分图最大权匹配,一看范围吓傻了,先跳过 ...
- NOI前训练日记
向别人学习一波,记点流水帐.17.5.29开坑. 5.29 早晨看了道据说是树状数组优化DP的题(hdu5542),然后脑补了一个复杂度500^3的meet in the middle.然后死T... ...
- 半小时写完替罪羊重构点分树做动态动态点分治之紫荆花之恋的wyy贴心指导
刷题训练 初学者 有一定语言基础,但是不了解算法竞赛,水平在联赛一等奖以下的. 参考书:<算法竞赛入门经典--刘汝佳>,<算法竞赛入门经典训练指南--刘汝佳> 题库:洛谷(历年 ...
随机推荐
- pb数据窗口设置操作
1 使DataWindow列只能追加不能修改如何使DataWindow中的数据只能追加新记录而不能修改,利用 Column 的 Protect 属性可以很方便的做到这一点,方法如下:将每一列的 Pro ...
- 【转】PowerShell入门(六):远程操作
转至:http://www.cnblogs.com/ceachy/archive/2013/02/20/PowerShell_Remoting.html PowerShell远程操作是远程管理的基础, ...
- 解决ADB端口占用问题
方式一5037为adb默认端口,若5037端口被占用,查看占用端口的进程PIDC:\Users\wwx229495>netstat -aon|findstr 5037 TCP 127. ...
- 编写高性能Web应用程序的10个技巧
这篇文章讨论了: ·一般ASP.NET性能的秘密 ·能提高ASP.NET表现的有用的技巧和窍门 ·在ASP.NET中使用数据库的建议 ·ASP.NET中的缓存和后台处理 使用ASP.NET编写一个We ...
- Android APK反编译easy 详解
在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...
- 如何清理photoshop cs6 被升级的烦人的adobe creative cloud组件
安装photoshop cs6(虽然目前已经退出到cc 2015,不过因激活成熟度等,我还是偏向于使用cs6,够用!),默认安装adobe application manager. 不过如果不小心单独 ...
- js 获得日期相差天数
function getDays(strDateStart,strDateEnd){ var strSeparator = "-"; //日期分隔符 ...
- zigbee学习之路(七):定时器3(中断方式)
一.前言 上次我们学习了了用定时器3进行查询方式来进行溢出判断,今天我们来换一种方式,用中断方式来检测和查询定时器3的溢出. 二.原理与分析 要使用定时器3,我们必须先要配置的是T3CTL,来把定时器 ...
- ubuntu 到底是选择32位还是64位?
ubuntu 到底是选择32位还是64位? 2011-06-03 15:16:31 标签:ubuntu linux 休闲 cpu 职场 原文出处:官方wiki原文作者:授权许可: 创作共用协议Att ...
- sublime_text3配置
推荐视频 http://v.youku.com/v_show/id_XMzU5NzQ5ODgw.html 介绍的是2版本 准备工作 点击连接下载Sublime Text3 初始化用户信息 第一次安装该 ...