URAL题解三】的更多相关文章

URAL题解三 URAL 1045 题目描述:有\(n\)个机场,\(n-1\)条航线,任意两个机场有且只有一种方案联通.现有两个恐怖分子从\(m\)号机场出发,第一个人在机场安装炸弹,乘坐飞机,引爆炸弹,在另一个机场降落,然后到第二人做一样的事,轮流做,直到某个人做不到就输.一个机场炸了后,任何与它相连的航线都不复存在.问第一个人能不能赢,如果能,则输出他第一个要飞到的机场,如果不能则输出First player loses solution 博弈论,输赢状态的搜索. 时间复杂度:\(O(n)…
URAL题解一 URAL 1002 题目描述:一种记住手机号的方法就是将字母与数字对应,如图.这样就可以只记住一些单词,而不用记住数字.给出一个数字串和n个单词,用最少的单词数来代替数字串,输出对应的任一方案. solution 首先想到的应该是DP,接着就是状态转移的问题,也就是预处理出每个单词可以与哪一段的数字对应,分析时间复杂度,发现直接暴力判断是可以的,但用HASH会好一些,还可以用KMP. 时间复杂度:\(O(单词数*数字长度)或O(单词长度*数字长度)\) URAL 1010 题目描…
UVA题解三 UVA 127 题目描述:\(52\)张扑克牌排成一列,如果一张牌的花色或者数字与左边第一列的最上面的牌相同,则将这张牌移到左边第一列的最上面,如果一张牌的花色或者数字与左边第三列的最上面的牌相同,则将这张牌移到左边第三列的最上面.只有最上面的牌可以移动,如果同时有多张牌可以移动,则先移动最左边的牌,若某张牌可以移到左边第三列的上面,则优先移到左边第三列.若某个时刻某一列为空,则那一列后面的列往前移动.求最后还剩多少列,以及每一列有多少张牌. solution 直接栈模拟.因为每张…
URAL题解二 URAL 1082 题目描述:输出程序的输入数据,使得程序输出"Beutiful Vasilisa" solution 一开始只看程序的核心部分,发现是求快排的比较次数,要使比较次数等于它所要求的才能输出"Beutiful Vasilisa".这也太难了吧.看一下样例,再看一下它所要求的数,发现如果输入数据早就排好序,比较次数就是它所要求的数.所以只要输出\(n\)个从小到大的数即可. 时间复杂度:\(O(n)\) URAL 1083 题目描述:定义…
1014:简单题,忘了0的情况可以是10,== 1219:找呀找规律,满足N*(N-1)/2+1=X;就是1 的情况了…
Codeforces 1215D Ticket Game 原题 题目 Monocarp and Bicarp live in Berland, where every bus ticket consists of n digits (n is an even number). During the evening walk Monocarp and Bicarp found a ticket where some of the digits have been erased. The numbe…
一.代码: 1.求逆元(原理貌似就是拓展欧几里得,要求MOD是素数): int inv(int a) { if(a == 1) return 1; return ((MOD - MOD / a) * inv(MOD % a)) % MOD; } 2.底层优化(正确性未验证): int cmp(int a) {if (!a) return 0; return a < 0 ? -1 : 1;} int cmp(int a) {return (a >> 31) + (-a >> 3…
Description 老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成. 有长为N的数列,不妨设为a1,a2,…,aN .有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2)把数列中的一段数全部加一个值; (3)询问数列中的一段数的和,由于答案可能很大,你只需输出这个数模P的值. Input 第一行两个整数N和P(1≤P≤1000000000).第二行含有N个非负整数,从左到右依次为a1,a2,…,aN, (0≤ai≤1000000000,1≤i≤N).第三行有一个整…
最近写的一些 WC2019 上讲的一些题.还是怕忘了,写点东西记录一下. LOJ2983 「WC2019」数树 题意 本题包含三个问题: 问题 0:已知两棵 \(n\) 个节点的树的形态(两棵树的节点标号均为 \(1\) 至 \(n\)),其中第一棵树是红树,第二棵树是蓝树.要给予每个节点一个 \([1, y]\) 中的整数,使得对于任意两个节点 \(p, q\),如果存在一条路径 \((a_1 = p, a_2, \cdots , a_m = q)\) 同时属于这两棵树,则 \(p, q\)…
题面 $\text{BZOJ}$间接权限题 洛谷的弱化版 题解 三点距离两两相等要满足以下条件: 有一个相同的$\text{LCA}$ 所以如果存在一个点,使得另外两个点在它子树中,距离为$d$,且$\text{LCA}$距这个点为$d$, 那么这三个点就距离两两相等. 设$f[i][j]$表示以$i$为根的子树中距$i$为$j$的点的数量 $g[i][j]$表示以$i$为根的子树中,两个点到$LCA$的距离为$d$,并且他们的$LCA$到$i$的距离为$d−j$的点对数. 看到合并时的转移:…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4514 湫湫系列故事--设计风景线 Time Limit: 5000/2000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) 问题描述 随着杭州西湖的知名度的进一步提升,园林规划专家湫湫希望设计出一条新的经典观光线路,根据老板马小腾的指示,新的风景线最好能建成环形,如果没有条件建成环形,那就建的越长越好. 现在已经勘探确定了n个位…
南京: 南京是我们队第一场区域赛,而且和一队二队一起,心里总有种踏实感.之前我们仨在一起讨论过我们打大型比赛出现的问题,晨哥说我们在封榜后总是出不了题,确实是这样,我觉得在之前的比赛中,我们队胜负欲都太强了,总是想着要取得个好的名次,结果虽然表面上没有什么,但心中确实有比较大的压力,而这种压力在赛场上,显然越到后面越大.所以我跟队友说,把心态放平和,“保铁争铜”,把我们能出的题目都出了就好. 南京的签到题是一个博弈,上来我们就读错题意然后WA了一发,然后就有点慌,强行冷静下来找规律,花了很长时间…
1]学习了字典树之后,觉得它很明显的就是用空间来换时间,空间复杂度特别大,比如字典数单单存26个小写字母,那么每个节点的孩子节点都有26个孩子节点,字典树中的每一层都保留着不同单词的相同字母. 2]01字典树主要用于解决求异或最值的问题 #include<cstdio> #include<string> #include<cstdlib> #include<cmath> #include<iostream> #include<cstring…
哇!济南的 rqy 大佬讲课!就是 $luogu$ 上有名的那位! 上面这句话写错了,请大家无视 XylophoneIOI2018 练习赛 T2题意:交互提有一个 $0\sim n-1$ 的排列,保证 $0$ 在 $n-1$ 左边.你每次可以询问一个区间,会得到这个区间的 最大值 $-$最小值.要用不超过 $10000$ 次询问还原出这个排列.范围:子任务 $1$($11pts$)$n\le 100$子任务 $2$($36pts$)$n\le 1000$子任务 $3$($53pts$)$n\le…
一.原题 问题描述 试题编号: 201803-4 试题名称: 棋局评估 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 Alice和Bob正在玩井字棋游戏. 井字棋游戏的规则很简单:两人轮流往3*3的棋盘中放棋子,Alice放的是“X”,Bob放的是“O”,Alice执先.当同一种棋子占据一行.一列或一条对角线的三个格子时,游戏结束,该种棋子的持有者获胜.当棋盘被填满的时候,游戏结束,双方平手. Alice设计了一种对棋局评分的方法: - 对于Alice已经获胜的局面,评…
一.原题 问题描述 试题编号: 201712-4 试题名称: 行车路线 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 小明和小芳出去乡村玩,小明负责开车,小芳来导航. 小芳将可能的道路分为大道和小道.大道比较好走,每走1公里小明会增加1的疲劳度.小道不好走,如果连续走小道,小明的疲劳值会快速增加,连续走s公里小明会增加s2的疲劳度. 例如:有5个路口,1号路口到2号路口为小道,2号路口到3号路口为小道,3号路口到4号路口为大道,4号路口到5号路口为小道,相邻路口之间的距…
https://codeforces.com/contest/1096/problem/C 题意 问是否存在一正多边形内三点构成的角度数为ang,若存在输出最小边数 题解 三点构成的角是个圆周角,假设n为多边形边数,则能构成的角范围是\(\frac{180}{n} \leq ang \leq \frac{n-2}{n}*180\),每次变化\(\frac{180}{n}\) 首先明确正多边形一定存在,并且最大边数不会超过360,若边数等于360,则可以组成的角的范围是\(0.5\leq ang…
题目 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 输入:1->2->4, 5 输出:1->2->4->5 题解 三种方法: 尾插法,更改原始链表.时间复杂度O(n),空间复杂度O(1) 原链表不变,另开辟新空间.时间复杂度O(n+m),空间复杂度O(n+m) 递归,没懂... 通过代码如…
题目描述 给定一棵二叉搜索树,请找出其中的第k小的结点.例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4. 题解一:DFS 借助栈实现 // 中序非递归 public static TreeNode KthNode02(TreeNode pRoot, int k) { Stack<TreeNode> stack = new Stack<>(); if(pRoot==null||k<=0){ return null; } int count=0;…
题目:有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置.以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除. 题解一: 暴力解法,模拟,一步一步来. #include<bits/stdc++.h> using namespace std; int main(…
P3376 [模板]网络最大流( Edmonds-krap.Dinic.ISAP 算法) 题目描述 如题,给出一个网络图,以及其源点和汇点,求出其网络最大流. 输入格式 第一行包含四个正整数N.M.S.T,分别表示点的个数.有向边的个数.源点序号.汇点序号. 接下来M行每行包含三个正整数ui.vi.wi,表示第i条有向边从ui出发,到达vi,边权为wi(即该边最大流量为wi) 输出格式 一行,包含一个正整数,即为该网络的最大流. 输入输出样例 输入 #1 复制 4 5 4 3 4 2 30 4…
P1006 传纸条 输入输出样例 输入 #1 复制 3 3 0 3 9 2 8 5 5 7 0 输出 #1 复制 34 说明/提示 [限制] 对于 30% 的数据,1≤m,n≤10: 对于 100% 的数据满1≤m,n≤50 NOIP 2008提高组第三题 思路如下 这一题应该是可以看成由两种解法,但是也可以看成一种解法,题解三四可以看成是题解一 ,优化掉一维的结果. 题解传送门 题解一(四维dp) #include <iostream> #define maxn 55 using names…
比赛链接:https://atcoder.jp/contests/abc178/tasks A - not 题意 给出一个整数 $0 \le x \le 1$,如果 $x$ 是 $0$ 就输出 $1$,如果 $x$ 是 $1$ 就输出 $0$ . 题解 输出 $x \oplus 1$ 或 $!x$ 均可. 代码 #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.…
比赛链接:https://atcoder.jp/contests/abc170 A - Five Variables 题意 $5$ 个数中有 $1$ 个 $0$,判断是第几个. 代码 #include <bits/stdc++.h> using namespace std; int main() { for (int i = 1; i <= 5; i++) { int x; cin >> x; if (x == 0) { cout << i << &q…
题目链接:https://codeforces.com/contest/1366/problem/A 题意 有两个数 $a$ 和 $b$,每次可以选择从一个数中取 $2$,另一个数中取 $1$,问最多可以进行多少次这样的操作. 题解一 比较好想的一种模拟的做法: 较多者每次取两个至二者相等 二者每次同时取三个 如果较多者和较少者有余再加一 代码 #include <bits/stdc++.h> using namespace std; void solve() { int a, b; cin…
比赛链接:https://atcoder.jp/contests/abc169/tasks A - Multiplication 1 #include <bits/stdc++.h> using namespace std; int main() { int a, b; cin >> a >> b; cout << a * b << "\n"; } B - Multiplication 2 题意 计算 $a_1 \times…
目录 题目 题解 三种解法 "单调队列"解法 新增.获取最大值 删除 代码 题目 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧.你只可以看到在滑动窗口内的 k 个数字.滑动窗口每次只向右移动一位. 返回 滑动窗口中的最大值 . 示例 1: 输入:nums = [1,3,-1,-3,5,3,6,7], k = 3 输出:[3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值 --------------------------- -----…
目录 Ural 1201 Which Day Is It? 题解 题意 输入 输出 题解 程序 Ural 1201 Which Day Is It? 题解 题意 打印一个月历. 输入 输入日\((1\sim31)\).月\((1\sim12)\).年\((1600\sim2400)\). 输出 输入: 16 3 2002 输出: mon........4...11...18...25 tue........5...12...19...26 wed........6...13...20...27…
啊啊啊啊啊啊今天已经星期三了吗 那么,来一波题解吧 本题地址http://www.luogu.org/problem/show?pid=1006 传纸条 题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了.幸运的是,他们可以通过传纸条来进行交流.纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标(1,1),小轩坐在矩阵的右下角,坐标(m,n).从小渊…
宝贵资源 题目连接: http://acm.uestc.edu.cn/#/problem/show/1265 题意 平面上给n个点(n<=1000),要求找一个面积最小的正方形,将所有的点都囊括进去. 要求正方形的边必须平行于坐标轴. 题解: 对于这道题,我们可以首先找一个满足题意的,并且面积是最小的矩形. 假设矩形的长为L,宽为W,那么很显然: L = (MaxX - MinX) W = (MaxY - MinY) MaxX,MaxY 指题目中输入的最大横.纵坐标的值,MinX,MinY 指题…