![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
UVa
The_useless
这个作者很懒,什么都没留下…
展开
-
UVa 10951 Polynomial GCD (数论)
UVa 10951 Polynomial GCD题目大意:给定两个ZnZ_n上的多项式f(x)f(x)和g(x)g(x),求出他们的gcdgcd,即ZnZ_n上的一个多项式r(x)r(x),使得其可以同时整除f(x)f(x)和g(x)g(x),且次数尽量大.你找到的多项式的最高项系数应当为11. (注意:ZnZ_n下的多项式即系数为[0,n)区间内的整十数,也就是说在n进制下的计算).题目分析:求原创 2016-12-28 17:23:28 · 566 阅读 · 0 评论 -
UVa 11300 Spreading the Wealth (数学推导-中位数)
UVa 11300 Spreading the Wealth题目大意:n个人围成环形,一个人可以给他相邻左右两边的人金币,求使得所有人最后的金币数相同的最少转手金币数,金币总数能被n整除.题目分析:这是一个环形的结构,可以尝试将其变成单向的,XiX_{i}表示从i传到i+1的金币个数(XnX_{n}表示从n传到1的金币个数),设每人最终的金币个数为MM,则有Ai+Xi−1−Xi=MA_{i}+X_{原创 2016-12-07 21:53:39 · 396 阅读 · 0 评论 -
UVa 10881 Piotr's Ants (排序)
UVa 10881 Piotr’s Ants题目大意:在L长的木棍上有n只蚂蚁,向左或右爬,速度为1单位长度每秒,若两蚂蚁撞上,则掉头,求T秒以后各蚂蚁所在位置,若掉下去,输出”Fell off”,否则输出位置和朝向,若此时正撞上,朝向输出”Turning”.题目分析:这道题还是有一些思维含量的.实际上,n只蚂蚁在爬行过程中,其相对位置(也就是第几号位置)是不会改变的,所以可以不考虑对撞之后换方向的原创 2016-12-08 10:31:52 · 372 阅读 · 0 评论 -
UVa 11549 Calculator Conundrum (模拟+Floyd判环)
UVa 11549 Calculator Conundrum题目大意:给一个长度为n位的计算器,初始数是k,不断对其进行平方.若溢出,只保留前n位(从最高位开始),求得到的最大数是多少.题目分析:将数反复平方,肯定会出现相同数,那么出现相同数时就可以停止,问题在于如何判断是否形成环.可以选择使用set或者hash判断,但是空间规模比较大,那么可以选择采用Floyd判环算法.试想,两个人绕着操场跑步,原创 2016-12-09 14:23:06 · 353 阅读 · 0 评论 -
UVa 10755 Garbage Heap (最大价值子立方体+扫描法)
UVa 10755 Garbage Heap题目大意:有一个大立方体,由A*B*C个小立方体组成,每个小立方体有一个价值(正负皆可).现在要在大立方体中选择一个子立方体,求价值和最大. (注意:不能不取小立方体)题目分析:如果直接枚举的话:x,y,z上下界和价值和,O(n^9). 试试部分枚举,只枚举x,y上下界,那么就可以用扫描法完成z部分,时间复杂度为O(n^5).代码:#include<c原创 2016-12-09 22:38:26 · 338 阅读 · 0 评论 -
UVa 11825 Hackers' Crackdown (状态压缩DP)
UVa 11825 Hackers’ Crackdown题目大意:侵入n台计算机,每台计算机有m个相邻计算机.对于一台计算机,可以选择终止其一种服务,相邻计算机也会受到影响停止该种服务,问最多能有多少种服务完全瘫痪(也就是说要让所有计算机均停止该种服务).题目分析:一台计算机只能终止一种服务,若用P[i]表示i号计算机的相邻计算机集合(包括i号计算机本身),那么实质上问题就是在每一组的P的并集为全集原创 2016-12-10 11:14:56 · 321 阅读 · 0 评论 -
UVa 10859 Placing Lampposts (树形DP)
UVA 10859 Placing Lampposts题目大意:给一个n点m边的无向无环图,在尽量少的节点上放灯,使得所有边都被照亮,一个点上的灯可以照亮与该点相连的所有边,在灯最少的前提下,使得被两盏灯照亮的边尽可能多.输出所需灯个数,被两盏灯照亮的边个数,被一盏灯照亮的边个数.题目分析:无向无环图,显然就是一棵无根树.而m有可能小于n-1,那么就可能是多棵树,即森林. 显然这是树形DP,但是需原创 2016-12-10 14:06:26 · 307 阅读 · 0 评论 -
UVa 11134 Fabled Rooks (排序+贪心)
UVa 11134 Fabled Rooks题目大意:给你n*n的棋盘,上面放n个车,使得任意两车互不攻击,要求第i个车在矩形Ri内. 若存在输出一组解,否则输出”IMPOSSIBLE”.题目分析:因为是在n*n的棋盘上放n个车,其实就有点类似于n皇后问题的放置方法,显然每行每列都要放一个,并且行与列是独立的,互不影响. 那么,若单独考虑行,矩形就被压缩成了线段,将线段看成是区间.实际上问题就转原创 2016-12-12 08:27:49 · 339 阅读 · 0 评论 -
UVa 11100 The Trip, 2007 (排序)
UVa 11100 The Trip, 2007题目大意:给出n个正整数,将其划分成尽可能少的严格递增序列,在此前提下,序列元素尽可能均匀分布.输出序列数最小值k和这k个序列.题目分析:一开始没理解到题意,╮(╯_╰)╭. 要划分成尽可能少的严格递增序列,那么相同的数不能放在同一列,那么k就等于最大相同数个数.首先进行一次排序,得到k值.因为有k个序列,要使其尽量均分,则应当每k个数顺次放在k个序原创 2016-12-12 21:05:44 · 332 阅读 · 0 评论 -
UVa 10125 Sumsets (中途相遇法)
UVa 10125 Sumsets题目大意:给一个整数集合S,找出最大的d,使得a+b+c=d,其中a,b,c,d是S中的不同元素. (元素个数1<=n<=1000,元素大小-536870912<=x<=+536870911).题目分析:最直接的手段是直接枚举a,b,c,d,当然时间复杂度很高O(n^4). 但是若将四个数拆分成两两枚举,即先枚举a+b,储存起来,再枚举d-c,查找是否存在a+b原创 2016-12-14 10:18:17 · 547 阅读 · 0 评论 -
UVa 10870 Recurrences (矩阵快速幂)
UVA 10870 Recurrences题目大意:f(n)=a1f(n−1)+a2f(n−2)+a3f(n−3)+...+adf(n−d)f(n)=a_{1}f(n-1)+a_{2}f(n-2)+a_{3}f(n-3)+...+a_{d}f(n-d). 给出a1a_{1}~ada_{d},f(1)f(1)~f(d)f(d),nn,mm,求f(n)%mf(n)\%m. (1≤d≤15,1≤n≤2原创 2016-12-21 10:22:49 · 457 阅读 · 0 评论 -
UVa 10828 Back to Kernighan-Ritchie (高斯-约当消元)
UVa 10828 Back to Kernighan-Ritchie题目大意:给出一个程序控制流图,从每个结点出发到其后继结点的概率相等.当执行完一个没有后继的结点后,程序终止.程序总是从编号为1的结点开始执行.求出多个询问结点的期望执行次数. 数据不超过100组,第一行为n(1≤n≤100)n(1\leq n\leq 100),结点编号为11到nn.以下若干行每行包含a,ba,b两个整数,以a原创 2016-12-21 17:24:55 · 465 阅读 · 0 评论 -
UVa 11889 Benefit (数论)
UVa 11889 Benefit题目大意:给两个整数A和C,求最小的整数B使得lcm(A,B)=C.若无解,输出”NO SOLUTION”(不含引号).题目分析:显然可知,若C%A!=0,则无解. 对于有解的情况,如下 设A=g∗p1B=g∗p2C=g∗p1∗p2A=g*p_1\\B=g*p_2\\C=g*p_1*p_2要使lcm(A,B)=Clcm(A,B)=C,则p1与p2p_1与p_原创 2016-12-22 14:39:56 · 465 阅读 · 0 评论 -
UVa 10892 LCM Cardinality (数论+组合数学)
UVa 10892 LCM Cardinality题目大意:输入正整数nn(n≤2∗109n \leq 2*10^9),统计有多少对正整数a≤ba \leq b,满足lcm(a,b)=nlcm(a,b)=n.输出n和形成的对数.题目分析:(想了好一会儿,orz……)若将数拆分成唯一分解式,可以发现 设a=pk11∗pk22∗...∗pknnb=pk′11∗pk′22∗...∗pk′nna=p_1原创 2016-12-22 16:58:08 · 601 阅读 · 0 评论 -
UVa 11609 Teams (组合数学)
UVa 11609 Teams题目大意:有n(1≤n≤109)n(1\leq n\leq 10^9)个人,选一个或者多个人参加比赛,其中一名当队长.两种方案相同,当且仅当人员组成和队长相同,问有多少种方案. 输出方案数除以1000000007的余数.题目分析:(推个式子都要推半天,吃枣药丸)当选择一个人的时候有C1nC_{n}^{1}中方案,每种方案队长安排一种. … ans=1∗C1n+2原创 2016-12-22 21:58:38 · 363 阅读 · 0 评论 -
UVa 11481 Arrange the Numbers (组合数学+容斥原理)
UVa 11481 Arrange the Numbers题目大意:可以将序列1,2,3,...n1,2,3,...n任意重排,但重排后的前mm(m≤nm\leq n)个位置恰好有kk(k≤mk\leq m)个不变,求方案数除以1000000007的余数. (注意是前m个位置恰好有k个不变,也就是说前m个位置的另外m-k个必须改变)题目分析:首先,前m个位置恰好有k个不变,则有CkmC_{m}^{原创 2016-12-25 09:40:31 · 547 阅读 · 0 评论 -
UVa 11768 Lattice Point or Not (扩展欧几里得)
UVa 11768 Lattice Point or Not题目大意:给两个点A(x1,y1)和B(x2,y2).其中x1,y1,x2,y2皆为0.1的整数倍,且绝对值不超过200000.统计线段AB经过的整点数.题目分析:(看来扩欧我还是不会欸,orz……)求直线上的整点要用到扩展欧几里得解线性方程. 先利用A,B两点表示出形如ax+by=cax+by=c形式的直线方程,得到 (注意A,B横纵原创 2016-12-28 07:49:03 · 849 阅读 · 0 评论 -
UVa 10692 Huge Mods (指数循环节)
UVa 10692 Huge Mods题目大意:给出模数mm和正整数a1,a2...an,a_1,a_2...a_n,求出aa...an21 mod ma_1^{a_2^{...^a_n}}\ mod\ m的值. (注意指数运算的顺序:234=2(34)=2812^{3^4}=2^{(3^4)}=2^{81}) (2≤m≤10000,1≤n≤10,1≤ai≤10002\leq m\leq 10原创 2016-12-28 11:38:26 · 399 阅读 · 0 评论 -
UVa 11361 Investigating Div-Sum Property (数位DP)
UVa 11361 Investigating Div-Sum Property题目大意:给定a,b,k三个正整数,统计在[a,b]之间的整数n中,有多少n自身是k的倍数,且n的各个数字(十进制)之和也是k的倍数.(1⩽a⩽b⩽2311\leqslant a\leqslant b\leqslant 2^{31})题目分析:这是一道典型的数位DP题. n非常大,若是直接枚举的话会超时,考虑利用加法原原创 2016-12-15 19:40:50 · 410 阅读 · 0 评论