URAL题解二

URAL 1082

题目描述:输出程序的输入数据,使得程序输出"Beutiful Vasilisa"

solution
一开始只看程序的核心部分,发现是求快排的比较次数,要使比较次数等于它所要求的才能输出"Beutiful Vasilisa"。这也太难了吧。看一下样例,再看一下它所要求的数,发现如果输入数据早就排好序,比较次数就是它所要求的数。所以只要输出\(n\)个从小到大的数即可。
时间复杂度:\(O(n)\)

URAL 1083

题目描述:定义一种计算\(n!!!...!=n(n-k)(n-2k)...(n mod k)\)(如果\(k \nmid n\))
\(n!!!...!=n(n-k)(n-2k)...k\)(如果\(k \mid n\)),其中\(k\)为感叹号的个数。给定一个这样的表达式,输出答案。

solution
模拟。。。
时间复杂度:\(O(n/k)\)

URAL 1084

题目描述:有一个边长为\(a\)正方形,一正方形的中间为圆心做一个半径为\(r\)的圆,求两个重叠部分的面积。

solution
先特判包含的两种情况,剩下一种情况:

三角形和圆弧的面积都很好求,而且精度要求不高,反三角可以随便用。
时间复杂度:\(O(1)\)

URAL 1085

题目描述:有\(n\)个城市,有\(m\)条公交线路(双向),有\(p\)个人需要集中在某一个城市,他们只通过公交来出行,每次坐车都要给\(4\)元,如果有月票则不用给钱,给出每个人所在的城市,拥有的金钱,是否有月票,求在哪一个城市集中所有人都能到,且花费最少。注意:可以换乘,但换乘后依然要给钱。

solution
用链表的话边太多,所以用邻接矩阵。因为点比较少,所以可以用Floyd求出两点之间的最短距离,然后就是枚举判断。
时间复杂度:\(O(n^3)\)

URAL 1086

题目描述:输出第\(n\)个质数。

solution
线性筛素数。\(1000000\)就非常够了。
时间复杂度:\(O(1000000)\)

URAL 1087

题目描述:有\(n\)颗石子,两个人轮流拿石子,每次拿石子的个数在\(k\)数组里选,拿到最后一颗石子的输,问先手胜,还是后手胜。

solution
记忆化搜索。
时间复杂度:\(O(n)\)

URAL 1088

题目描述:有一棵满二叉树,树上有两个节点\(p, q\),叶子节点从左到右编号(从1开始)。给出\(p, q\)的高度,树的高度,离\(p\)最近的叶子节点,离\(q\)最近的叶子节点,以及一个数\(D\),判断\(p, q\)的距离是否不超过\(D\)。

solution
求出那两个叶子节点的LCA(\(A\)),如果\(A\)的高度比\(p, q\)的高度都高,说明\(A\)就是\(p, q\)的LCA,否则说明\(p\)在\(q\)的子树中,或者\(q\)在\(p\)的子树中。知道这些就可以求\(p, q\)两点的距离。
时间复杂度:\(O(logn)\)

URAL 1089

题目描述:有一些单词和一些句子,句子中的一些单词有错,而且只是写错一个字母,找到正确的单词进行替换,并输出正确的句子,以及错误总数。

solution
模拟
时间复杂度:\(O(单词数*句子数*句子长度)\)

URAL题解二的更多相关文章

  1. URAL题解三

    URAL题解三 URAL 1045 题目描述:有\(n\)个机场,\(n-1\)条航线,任意两个机场有且只有一种方案联通.现有两个恐怖分子从\(m\)号机场出发,第一个人在机场安装炸弹,乘坐飞机,引爆 ...

  2. UVA题解二

    UVA题解二 UVA 110 题目描述:输出一个Pascal程序,该程序能读入不多于\(8\)个数,并输出从小到大排好序后的数.注意:该程序只能用读入语句,输出语句,if语句. solution 模仿 ...

  3. URAL题解一

    URAL题解一 URAL 1002 题目描述:一种记住手机号的方法就是将字母与数字对应,如图.这样就可以只记住一些单词,而不用记住数字.给出一个数字串和n个单词,用最少的单词数来代替数字串,输出对应的 ...

  4. URAL - 1486 二维字符串HASH

    题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1486 题意:给定一个n*m的字符矩阵,问你是否存在两个不重合(可以有交集)的正方形矩阵完 ...

  5. URAL题解—不断跟新中

    1014:简单题,忘了0的情况可以是10,== 1219:找呀找规律,满足N*(N-1)/2+1=X;就是1 的情况了

  6. 【题解二连发】Construct Binary Tree from Inorder and Postorder Traversal & Construct Binary Tree from Preorder and Inorder Traversal

    LeetCode 原题链接 Construct Binary Tree from Inorder and Postorder Traversal - LeetCode Construct Binary ...

  7. PAT 天梯赛 L2-004 这是二叉搜索树吗?

    递归判断+建树 题目链接:https://www.patest.cn/contests/gplt/L2-004 题解 二叉搜索树的特点就是其根节点的值是位于左右子树之间的,即大于左子树的所有值,但是小 ...

  8. TZOJ 2725 See you~(二维树状数组单点更新区间查询)

    描述 Now I am leaving hust acm. In the past two and half years, I learned so many knowledge about Algo ...

  9. hdu1081 DP类最大子段和(二维压缩+前缀和数组/树状数组计数)

    题意:给出一个 n * n 的数字矩阵,问最大子矩阵和是多少. 由于和最长子段和问题类似,一开始想到的就是 DP ,一开始我准备用两个循环进行 DP ,对于每一个 (i,j) ,考察(i - 1,j) ...

随机推荐

  1. [您有新的未分配科技点]博弈论入门:被博弈论支配的恐惧(Nim游戏,SG函数)

    今天初步学习了一下博弈论……感觉真的是好精妙啊……希望这篇博客可以帮助到和我一样刚学习博弈论的同学们. 博弈论,又被称为对策论,被用于考虑游戏中个体的预测行为和实际行为,并研究他们的应用策略.(其实这 ...

  2. PD模型创建完获取生成表脚本

    1.双击表名,弹出属性对话框-->General----> Owner 表名前缀,如XX.SYS_TABLE  最好去掉 2.Preview 复制里面的脚本到数据库执行下即可

  3. 【BZOJ4443】小凸玩矩阵(二分答案,二分图匹配)

    [BZOJ4443]小凸玩矩阵(二分答案,二分图匹配) 题面 BZOJ Description 小凸和小方是好朋友,小方给小凸一个N*M(N<=M)的矩阵A,要求小秃从其中选出N个数,其中任意两 ...

  4. 代码收藏系列--php--加载sql文件并解析成数组

    php加载sql文件,解析成以分号分割的数组.(支持存储过程和函数提取,自动过滤注释) /** * 加载sql文件为分号分割的数组 * <br />支持存储过程和函数提取,自动过滤注释 * ...

  5. python基础----实现上下文管理协议__enter__和__exit__

    我们知道在操作文件对象的时候可以这么写 with open('a.txt') as f: '代码块' 上述叫做上下文管理协议,即with语句,为了让一个对象兼容with语句,必须在这个对象的类中声明_ ...

  6. [ldap]slapcat/ldapsearch与ldap备份

    http://serverfault.com/questions/577356/ldap-backup-with-slapcat-vs-ldapsearch Used: openldap-server ...

  7. python使用snappy压缩

    今天在网上找了很久,终于找到1个snappy压缩命令行,记录下来: 1.wget https://bootstrap.pypa.io/get-pip.py 2.python ./get-pip.py ...

  8. Linux iptables:规则原理和基础

    什么是iptables? iptables是Linux下功能强大的应用层防火墙工具,但了解其规则原理和基础后,配置起来也非常简单. 什么是Netfilter? 说到iptables必然提到Netfil ...

  9. proxy vue3.0

    <html> <head> <meta charset="UTF-8" /> <meta name="viewport" ...

  10. JAVA 日期处理工具类 DateUtils

    package com.genlot.common.utils; import java.sql.Timestamp;import java.text.ParseException;import ja ...