URAL 2078~2089

A - Bowling game

题目描述:给出保龄球每一局击倒的球数,按照保龄球的规则,算出总得分的最小值和最大值。

solution
首先是最小值:每一局第一球击倒\(0\)个,第二球击倒给定的数目,最后一局比较特殊,如果最后一局得分超过\(20\),最后一局只能是\(10, 10, ?\),否则第一球可以击倒\(0\)个。
然后是最大值:每一局击倒给定的数目,最后一局的击球数往前靠。
然后按规则算分即可。

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

C - Wallet

题目描述:有\(n\)张卡,放在一个栈里,现在给出用卡的顺序(一张卡有可能用多次),每次只能从栈顶拿卡出来用,一用就要用对,然后插回栈的某个位置,求栈的初始序列,以及每次用卡后插回哪里(往后退多少张)

solution
初始序列很好想,而往后退多少张等于相邻两个相同的数字中间有多少个不同的数字,将相邻两个相同的数字看成一个区间,然后用莫队即可。

时间复杂度:\(O(n\sqrt{n})\)

D - Faulty dial

题目描述:给出\(n\)个时间显示器,但这些时间是残缺的,输出一种方案,使得这些时间递减。

时间复杂度:\(O(60 \times 60 \times 4)\)

H - Magic Programmer

题目描述:给出一棵树,每一节点有一个集合,求树上一条链,满足链上的所有点的集合并起来是全集,而且每个数只出现一次,输出两端节点。

solution
\(hash\)。记录根到每个节点的集合元素个数总和以及每个元素的\(hash\)相加,将这个二元组看成\(dis\),则问题是求一条链的\(dis=(全集元素个数,全集的hash)\),两个点之间的\(dis\)相当于是两个点到根的\(dis\)-\(LCA\)到根的\(dis\)+\(LCA\),所以可以用类似\(tarjan\)求\(LCA\)的方法查询答案。

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

I - Find Denis

题目描述:给定三角形的一个顶点的坐标,该顶点相邻边的长度,对边的长度,对边线段上的一个点,求另一个指定顶点的坐标。

solution
高中数学。\(A, B\)是给定的点,求出图中的\(u, theta\),然后旋转放缩向量\(BA\)即可得到其它顶点的坐标。

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

L - Experienced coach

题目描述:给定一个\(n\)个点,\(m\)条边的图,每条边选一个端点,所有选的端点两两不同,求方案。

solution
相当于是每个点选一条边。
一个个联通块处理。若联通块里的边多于点,则无解,否则联通块至多有一个环,所以每次删掉度数为\(1\)的点,最后会剩下环,然后绕着环分配即可。

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

URAL 2078~2089的更多相关文章

  1. URAL 2078 Bowling game

    题目: Bowling game In all asocial teams members ignore each other uniformly, each tight-knit team buil ...

  2. URAL 2089 Experienced coach Twosat

    Description Misha trains several ACM teams at the university. He is an experienced coach, and he doe ...

  3. 【2-SAT】URAL - 2089 - Experienced coach

    题意:给出n对点a,b  要求从没对点中选出一个,且最终选出的点n个数不能存在相同的.输入数据满足每种数最多出现3次,最少出现1次 思路:第i对点的编号2*i, 2*i+1,   因为每个数最多出现3 ...

  4. 【HDU 2089】不要62

    http://acm.hdu.edu.cn/showproblem.php?pid=2089 数位dp,参照了打野的博客 预处理出f数组,f[i][j]表示第i位为数字j时的可行的数字总数. 对于区间 ...

  5. 后缀数组 POJ 3974 Palindrome && URAL 1297 Palindrome

    题目链接 题意:求给定的字符串的最长回文子串 分析:做法是构造一个新的字符串是原字符串+反转后的原字符串(这样方便求两边回文的后缀的最长前缀),即newS = S + '$' + revS,枚举回文串 ...

  6. ural 2071. Juice Cocktails

    2071. Juice Cocktails Time limit: 1.0 secondMemory limit: 64 MB Once n Denchiks come to the bar and ...

  7. ural 2073. Log Files

    2073. Log Files Time limit: 1.0 secondMemory limit: 64 MB Nikolay has decided to become the best pro ...

  8. ural 2070. Interesting Numbers

    2070. Interesting Numbers Time limit: 2.0 secondMemory limit: 64 MB Nikolay and Asya investigate int ...

  9. ural 2069. Hard Rock

    2069. Hard Rock Time limit: 1.0 secondMemory limit: 64 MB Ilya is a frontman of the most famous rock ...

随机推荐

  1. 两个list比较相等元素

    1.实现方式 public class list { public static void main(String[] args) { List<String> list1 = new A ...

  2. [二十三]SpringBoot 之 redis

    本文章牵涉到的技术点比较多:spring Data JPA.Redis.Spring MVC,Spirng Cache,所以在看这篇文章的时候,需要对以上这些技术点有一定的了解或者也可以先看看这篇文章 ...

  3. css基于文件格式使用不同的样式

    a[href^="http://"]{ padding-right: 20px; background: url(external.gif) no-repeat center ri ...

  4. 在 QML 中创建 C++ 导入类型的实例

    在 QML 中创建 C++ 导入类型的实例 文件列表: Project1.pro QT += quick CONFIG += c++ CONFIG += declarative_debug CONFI ...

  5. hive 排序和聚集

    1.order by 是对数据进行全排序,属于标准排序语句 order by 会对输入做全局排序,因此只有一个reducer(多个reducer无法保证全局有序)只有一个reducer,会导致当输入规 ...

  6. Zookeeper(三) Zookeeper原理与应用

    一.zookeeper原理解析 1.进群角色描述 2.Paxos 算法概述( ZAB 协议)    分布式一致性算法 3.Zookeeper 的选主(恢复模式) 以一个简单的例子来说明整个选举的过程. ...

  7. ER-18

    ER #18简要题解 就是推出循环矩阵乘积 然后一次操作后得到的c矩阵第一行第i列就是i的情况(b矩阵下标是a矩阵下标的转置) 两个循环矩阵乘积还是循环矩阵 以此推式子,发现c矩阵的第一行可以用a,b ...

  8. SP1487 PT07J - Query on a tree III (主席树)

    SP1487 PT07J - Query on a tree III 题意翻译 你被给定一棵带点权的n个点的有根数,点从1到n编号. 定义查询 query(x,k): 寻找以x为根的k大点的编号(从小 ...

  9. bash shell输出颜色

    http://note.youdao.com/noteshare?id=9de6d5fac6380447df112dff5bc404a1

  10. sleep php函数

    <?php echo date('h:i:s') . "<br />"; //暂停 10 秒 sleep(10); //重新开始 echo date('h:i:s ...