自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(220)
  • 收藏
  • 关注

原创 博客迁移

新博客地址:http://wcr1996.com本博客停更。

2016-02-28 13:44:28 1373 1

原创 UESTC 86 Divide(贪心+二进制)

http://acm.uestc.edu.cn/#/problem/show/86 弱校联萌的题,比赛时没出,赛后看了题解补的。 题目大意是有多堆宝物,每堆价值为2^ai个数为xi,输出把所有宝物分成两堆价值差的最小值的二进制表示。 进行预处理,类似于二进制运算,从价值最小宝物开始进位,同时标记当前位是否被进位过,被进位过的那一位不管最后值是多少总是可以均分的。然后把最高位不能均分的宝物作为一

2015-10-09 20:00:03 1624

原创 UESTC 84 Binary Operations(位运算+DP)

http://acm.uestc.edu.cn/#/problem/show/84 弱校联萌的题,比赛时没出,赛后看了题解补的。 题目大意是给出一个数列,输出任意选择一段连续子序列&、|、^的期望值。 首先将每一个数字按二进制位分解,然后对于每一种运算DP求期望,具体细节见代码。

2015-10-09 19:45:58 1366

原创 UVa 1395 - Slim Span(MST)

给出n个结点,m条边,求一个最大边权与最小边权之差最小的生成树。首先对所有输入的边进行排序,以每一条边作为最小边权的边做一次MST,维护最小边权差输出。

2015-09-09 22:19:17 1756

原创 UVa 1262 - Password(组合数)

给出两个6*5矩阵,有一个5位的密码,密码的第i位必须在两个矩阵的第i列都出现过,问输出字典序第k大的满足条件的密码,无解输出“NO”。预处理出每一位满足条件的字母,然后计算后几位密码可行的种数。对k进行判断后输出,具体细节见代码。

2015-08-30 16:03:45 2017

原创 UVa 1647 - Computer Transformation(找规律+递推)

暴力枚举前几项后发现规律a[i]=a[i-1]+2*a[i-2]。然后打表就好。

2015-08-30 11:51:50 1541

原创 UVa 10868 - Bungee Jumping(物理公式)

中学物理知识推推公式就能出来,没什么好说的了。

2015-08-30 11:47:14 1452

原创 UVa 1663 - Purifying Machine(二分匹配)

给出一些01串,含星号的串表示包含两个串,星号位置分别为0和1。每次可以消掉一个串或者两个只有一个数字不同的串,求最少几次可以消掉所有串。读出所有串,两两判断能否一起消掉,然后其最大匹配数即可。具体细节见代码。

2015-08-29 20:59:16 2115

原创 UVa 10635 - Prince and Princess(LCS转LIS)

给出两个序列,第一个序列中的数不重复,求两个序列的LCS。以为第一个序列的数不同,所以可以保存数在第一个序列中出现的顺序,然后删除第二个序列中不再第一个序列中的数,将剩下的数换成在第一个序列中出现的位置,对处理好的序列求LIS。

2015-08-29 20:48:52 1329

原创 UVa 1121 - Subsequence(尺取法)

给出一个序列,求连续子序列和大于s的最短子序列长度。尺取法,最开始子序列只有第一个数,当不满足条件时,移动终点延长子序列;当序列和满足条件时,移动起点缩短子序列,遍历数组复杂度O(n)。

2015-08-29 20:30:36 1300

原创 UVa 11549 - Calculator Conundrum(Floyd判圈法)

现在输入一个整数k,每次取前n位,反复平方,一直下去,输出能得到的最大数。每次取前n位所以一定会出现循环,使用Floyd判圈法判断是否出现重复。输出循环中的最大值。

2015-08-29 20:24:46 1320

原创 UVa 11520 - Fill the Square(构造法)

向正方形中填字母,每个字母不能和邻近的字母相同,输出字典序最小的解。直接从第一个开始构造,从A到Z枚举生成。

2015-08-29 20:19:46 1284

原创 UVa 12097 - Pie(二分查找)

给出n、m,有n个蛋糕,m+1个人,每个蛋糕都可以切开,求每人分一整块蛋糕的最大值。求出蛋糕大小总和,然后进行二分查找,对二分的值进行验证。

2015-08-29 20:07:32 1423

原创 UVa 1303 - Wall(凸包)

求所给点的凸包每个顶点向外延伸半径为l的圆后所得图形的周长。凸包周长模板题,求得凸包周长后加上以l为半径的圆的周长就是墙的长度。

2015-08-29 19:51:31 1355

原创 UVa 10780 - Again Prime? No Time.(唯一分解)

求最大k使(m^k)%n=0。首先筛选出所有素数,然后求出所有n,唯一分解的结果。对于m进行分解,对于每一个在m中的素数p[i]的指数e[i],k=min(e[i])。

2015-08-29 19:29:50 1539

原创 UVa 10943 - How do you add?(组合数)

求一个数n拆成k个数的方法个数。 利用隔板法求得ans={{n+k-1}\choose{k-1}} 递推组合数即可。

2015-08-29 18:59:39 1531

原创 UVa 821 - Page Hopping(Floyd)

给出能相互到达的网页,输出在给出的网页中相互到达需要点击几次,首先离散化,然后用Floyd求少点击次数,枚举求平均点击次数。

2015-08-29 18:42:37 1355

原创 UVa 242 - Stamps and Envelope Size(DP)

给出一个s,然后给出n组邮票,问那一组可以凑出最大连续邮资。对每一组邮票,求出当邮资为i时需要邮票数的最小值d[i],边界为d[0]=0、d[i]>s时break。类似于背包问题的求法,具体方法见代码。

2015-08-29 18:10:46 1953

原创 UVa 10934 - Dropping water balloons(DP)

给出n个相同的气球,k层楼,问最少几次试验可以知道气球最高从多少层扔下不会爆。用d[i][j]表示用i个球,实验j次所能确定的最高楼层数,对于每一次试验分爆和不爆两种情况讨论:1、爆了,转移到d[i-1][j-1]+1,用掉了1个球和一次试验机会。2、没爆,将当前测试层数的上一层当做第1层继续进行试验,转移到d[i][j-1]。得出转移方程d[i][j]=d[i-1][j-1]+1+d[i][j-1]。

2015-08-29 18:01:41 1409

原创 UVa 1218 - Perfect Service(树形DP)

给出一个计算机网络,选取其中给一部分作为服务器,问最少选择几个服务器。一共有三种状态:1、d[u][0]:u是服务器,每个子结点可以是也可以不是。2、d[u][1]:u不是服务器,但u的父亲是,u的子结点都不是服务器。3、d[u][2]:u和u的父亲都不是服务器,u的子结点恰有一个是服务器。

2015-07-29 20:09:29 2148

原创 UVa 1643 - Angle and Squares(叉乘求面积)

给出两个点和多个正方形,求两点与原点连线和正方形围成的最大面积。当正方形对角线共线且与两边构成等腰三角形是面积最大。联立方程求出三角形底边两点坐标,然后利用向量叉乘求出面积。

2015-07-28 16:46:41 1696

原创 UVa 10622 - Perfect P-th Powers(对数+快速幂)

枚举50000以内的数,对数,利用快速幂求值验证。

2015-07-28 16:41:49 1308

原创 UVa 10820 - Send a Table(欧拉函数)

求给出的范围内有多少对互素的整数答案为2*f(n)+1,f(n)=sum{phi(n)}。

2015-07-28 16:39:36 1266

原创 UVa 1635 - Irrelevant Elements(唯一分解)

对m进行分解,然后从C(n-1,0)计算到C(n-1,n-1),对每个数能否被m整除。

2015-07-28 16:31:41 1342

原创 UVa 12716 - GCD XOR(筛选+规律)

输入一个数n(1≤n≤30000000),输出有多少对整数满足1≤a≤b≤n且gcd(a,b)=a xor b。设c=a xor b,则a xor c=b。找规律可得,当满足条件时,c=a-b。因此,枚举c、a,对每一对验证c=a xor b即可。时间复杂度O(nlogn)。

2015-07-27 21:10:59 1340

原创 UVa 10791 - Minimum Sum LCM(唯一分解)

首先筛选出2到sqrt(2^31-1)的素数,然后对每个输入的数进行分解。最后若只有一个素因子,则得出的和要加1。输入为1时,输出为2。

2015-07-27 19:47:11 1453

原创 UVa 1629 - Cake slicing(记忆化搜索)

对每块蛋糕进行统计,若有1颗就直接返回1,2颗或以上就继续切,没有则不可行。然后继续切的话枚举每一个可以切的方法,记忆化搜索。

2015-07-27 17:04:38 1586

原创 UVa 10723 - Cyborg Genes(LCS)

给出两个序列,要求合并后的序列的子序列包含所给序列,为合并后序列的最短长度和有几种合并方式可以合并出最短序列。类似于求公共子序列的方法,具体转移方程见代码。

2015-07-27 16:58:56 1379

原创 12169 - Disgruntled Judge(扩展欧几里得+枚举)

首先枚举所有a,然后利用扩展欧几里得算法求出b。之后进行验证。

2015-07-27 14:46:35 1598

原创 UVa 11582 - Colossal Fibonacci Numbers!(取模+周期)

计算第a^b个斐波那契数对n取模的值。对不同的n取模,最长n^2就会出现循环。首先预处理计算所有可能的值,然后对每个输入快速幂取模找在周期中的位置输出。数据大必须用unsigned long long。

2015-07-27 10:24:55 1516

原创 UVa 10271 - Chopsticks(DP)

给出n只筷子,找出k+8组,每组三根,输出每组最短两根长度差的平方和的最小值。倒序读入,对每个可以选的点位有两种转移状态。DP数组滚动使用,节约空间和初始化时间。状态转移方程:d[i][j]=min(d[i-1][j],d[i-2][j-1]+(a[i]-a[i-1])^2)

2015-07-26 17:35:41 1323

原创 UVa 1220 - Party at Hali-Bula(最大独立集)

d[u][1]和d[u][0]分别表示选结点u和不选结点u在它的子树中最大的数目,f[u][t]表示相应选法的唯一性。d[u][1]=sum{d[v][0]},d[u][0]=sum{max(d[v][0],d[v][1])}。当选择结点的子树的方案有不唯一时,该结点方案不唯一。

2015-07-26 16:23:39 1306

原创 UVa 12186 - Another Crisis(树形DP)

书上给出了思路和DP部分的代码,其他的就很简单了。

2015-07-26 16:16:02 1466

原创 UVa 11536 - Smallest Sub-Array(尺取法)

给出一个n、m、k,生成一个序列。问其中包含1到k所有正整数的最短连续子序列的长度。

2015-07-26 11:39:10 1299

原创 UVa 12174 - Shuffle(滑动窗口)

给出一段播放记录,判断下次随机开始的地方有几种不同情况。首先利用滑动窗口判断当前位置的前s个位置数字是否均不同。然后枚举终点,每次进行验证。

2015-07-26 11:03:19 1475

原创 UVa 11105 - Semi-prime H-numbers(筛选法)

类似于筛选素数的方法,枚举前缀和即可。

2015-07-25 19:33:32 1498

原创 UVa 294 - Divisors(唯一分解)

给出一个区间,问其中哪个数因子最多。对每个数进行唯一分解,然后求出素因子乘积即为因子个数。

2015-07-25 19:28:57 1383

原创 UVa 10570 - Meeting with Aliens(构造法)

将序列储存两遍,用数组代替环,然后枚举起点,每次都把当前数交换过来,即可得到答案。

2015-07-25 19:18:09 1335

原创 UVa 12034 - Race(组合+递推)

书上给了公式,照着敲的。

2015-07-25 19:15:17 1282

原创 UVa 714 - Copying Books(二分查找)

在挑战程序设计竞赛上做过类似的,二分答案判断是否合理。

2015-07-25 19:07:50 1280

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除