URAL 2078~2089
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的更多相关文章
- URAL 2078 Bowling game
题目: Bowling game In all asocial teams members ignore each other uniformly, each tight-knit team buil ...
- URAL 2089 Experienced coach Twosat
Description Misha trains several ACM teams at the university. He is an experienced coach, and he doe ...
- 【2-SAT】URAL - 2089 - Experienced coach
题意:给出n对点a,b 要求从没对点中选出一个,且最终选出的点n个数不能存在相同的.输入数据满足每种数最多出现3次,最少出现1次 思路:第i对点的编号2*i, 2*i+1, 因为每个数最多出现3 ...
- 【HDU 2089】不要62
http://acm.hdu.edu.cn/showproblem.php?pid=2089 数位dp,参照了打野的博客 预处理出f数组,f[i][j]表示第i位为数字j时的可行的数字总数. 对于区间 ...
- 后缀数组 POJ 3974 Palindrome && URAL 1297 Palindrome
题目链接 题意:求给定的字符串的最长回文子串 分析:做法是构造一个新的字符串是原字符串+反转后的原字符串(这样方便求两边回文的后缀的最长前缀),即newS = S + '$' + revS,枚举回文串 ...
- ural 2071. Juice Cocktails
2071. Juice Cocktails Time limit: 1.0 secondMemory limit: 64 MB Once n Denchiks come to the bar and ...
- ural 2073. Log Files
2073. Log Files Time limit: 1.0 secondMemory limit: 64 MB Nikolay has decided to become the best pro ...
- ural 2070. Interesting Numbers
2070. Interesting Numbers Time limit: 2.0 secondMemory limit: 64 MB Nikolay and Asya investigate int ...
- ural 2069. Hard Rock
2069. Hard Rock Time limit: 1.0 secondMemory limit: 64 MB Ilya is a frontman of the most famous rock ...
随机推荐
- Codeforces 618D Hamiltonian Spanning Tree(树的最小路径覆盖)
题意:给出一张完全图,所有的边的边权都是 y,现在给出图的一个生成树,将生成树上的边的边权改为 x,求一条距离最短的哈密顿路径. 先考虑x>=y的情况,那么应该尽量不走生成树上的边,如果生成树上 ...
- LeetCode 671. Second Minimum Node In a Binary Tree
Given a non-empty special binary tree consisting of nodes with the non-negative value, where each no ...
- 洛谷 P1352 没有上司的舞会
树形动规入门题 先放题面 题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会,宴会每邀请来一个职员都 ...
- 卷积 & 杜教筛
目录 卷积 杜教筛 前言:发现最近都没怎么写博客,,,赶紧发篇以前记的笔记凑凑数 卷积 卷积定义: 如果有数论函数\(f, g\), 那么它们卷积的第\(n\)项为\((f * g) (n)\),设这 ...
- 【BZOJ1068】压缩(动态规划)
[BZOJ1068]压缩(动态规划) 题面 BZOJ 洛谷 题解 比较简单的\(dp\) 设\(f[i][j]\)表示当前已经匹配到了原串的第\(i\)个位置,上一个\(M\)在第\(j\)个字符之后 ...
- 日志分割工具——cronolog
使用cronolog可以格式化日志文件的格式,比如按时间分割,易于管理和分析. 1.下载软件 http://cronolog.org/download/index.html 用法见 lighttpd配 ...
- Function.caller, arguments.caller, arguments.callee, arguments.callee.calller
Function.caller指向当前函数的调用者,是arguments.caller的替代者 arguments.caller也是指向当前函数的调用者,已被废弃 arguments.callee是对 ...
- 解题:POI 2015 Kinoman
题面 发现每种电影只在两场之间产生贡献(只有$pos$的一场的就在$[pos,n]$产生贡献).那么我们针对每个位置$i$求出这场电影下一次出现的位置$nxt[i]$,然后每次更新一下,求整个区间的最 ...
- pxp
Time Limit: 2000 ms Memory Limit: 512 MB Description 给定 \(n\), 求\(\sum\limits_{p,q∈primes}[pq≤n]\) ( ...
- C/C++ Volatile关键词深度剖析
文章来源:http://hedengcheng.com/?p=725 背景 此微博,引发了朋友们的大量讨论:赞同者有之:批评者有之:当然,更多的朋友,是希望我能更详细的解读C/C++ Volatile ...