- 博客(78)
- 收藏
- 关注
原创 江西财经大学2020天梯赛周练2题解
天梯赛周练2题解7-1万圣节发糖这题就是要求满足ax+by+cz=n ax + by + cz = nax+by+cz=n 的最大化x+y+z x + y + zx+y+z第一种解法就是两个循环。遍历x和y,直到(n−ax−by)遍历x和y,直到 (n - ax - by) % c == 0遍历x和y,直到(n−ax−by)第二种解法是dpdp[i]是当axi+byi+czi==i时,最大值化的xi+yi+zidp[i]是当ax_i+by_i+cz_i == i时,最大值化的x_i + y_i +
2020-11-22 22:45:39 271
原创 江西财经大学2020级招新测试题解
2020级ACM协会招新测试题解第一题:圣诞节买苹果题意:就是求∑i=1N⌊n/i⌋\sum_{i=1}^N\lfloor n/i \rfloori=1∑N⌊n/i⌋所以可以直接用一个循环来求long long ans = 0;for(int i = 1;i <= n;i++){ ans += n / i;}第二题:万圣节买糖题意:和第一题一样,但是数据大小是1e13,直接用循环来做的话肯定会超时(时间限制是1000ms,如果运算次数超过1e7基本就会超时)。所以这题应该用更简
2020-11-21 17:01:39 391
原创 第三周上机题解
第三周上机题解题目解法不唯一,此处仅给出一种参考解法(A~E、H题难度较大,此处仅给出参考链接,有兴趣可自行百度学习)ps.正式比赛时建议先做简单题尽量得分而不是优先死磕难题。A Cotree树形DP,参考链接:Cotree【树DP】B Math此题需要较好数学功底,参考链接:MathC Trap容斥原理+组合计数,参考链接:TrapD Wave此题...
2019-12-08 17:20:02 246
原创 P315 GCD等于XOR UVa12176 “不难发现”的解释 以及完整推导过程
1. a-b<=a xor b,对于在同一个数位相同的二进制位值,xor和减法的效果都是一样的。对于在同一个数位不同的二进制位值,xor恒等于1,而减法可能向高位借1.2.gcd(a,b)<=a-b (假设a>b)因为gcd(a,b)=gcd(b,a%b)设a=qb+r r=a%b=a-qbgcd(b,a%b)=gcd(b,a-qb)此时最大公因数不...
2018-08-23 20:30:09 285
原创 第十章例题 Disgruntled Judge UVA - 12169
/*SE:wn------王宁*//*一开始看到a b的范围是10000的时候,我是没有去想暴力枚举的网络上说oj平台支持1秒钟做一亿次的加法运算在这里a b循环已经有一亿次了——最坏情况我并不清楚它的数据如何但是能使前几项成立的a b应该很少,所以大部分会被刷下来越往后,不是真正能使成立的数a b想要通过的可能性应当呈现几何度下降所以判断次数还是蛮少的这样子跑下来是330ms ...
2018-08-22 20:28:49 199
原创 第十章例题 A - Colossal Fibonacci Numbers! UVA - 11582
/*SE:wn------王宁1.f数组的值显然是不重复的,因为是递增数列2.但是它每个元素都%n,必定是有重复的规律,否则里面a^b那么大怎么找对应的?刘汝佳大神说因为余数最多n中,所以最多n*n项就会出现重复我不理解3.所以找出重复的次数,到时候里面的 a^b 取余再到存放的数组里面去找就行了4.关于a和b我一开始以为他们太大存不下,然而用unsigned long long ...
2018-08-22 19:08:34 267
原创 第十一章例题 UVa11082 Matrix Decompressing
/*SE:wn------王宁*/// UVa11082 Matrix Decompressing// rewrited version /*有没有很神奇,这是一个可以用最大流解决的问题矩阵的sum值是固定的所以行和之和=列和之和也就是说从起点流出的流量最后全部流入了终点起点分成数量为行数的流,通过分别流入该行与各列交汇的单元格,共同构成各列的列和起点与代表行的点连接的边的容量就...
2018-08-18 17:52:49 216
原创 第十一章例题 UVa753 A Plug for UNIX
“完全不知,往日为何,能与我……”好吧我想说完全不知道为什么我觉得这几天对图论的学习都很有意思,学起来又酷又炫的~刘汝佳大神的源码我会放在后面。/*SE:wn------王宁*//*回过头去学二分图匹配的匈牙利算法,才发现原来这一题就是二分图匹配啊关键的一点就是这个转换器是给带插头的设备使用的有点,有边——int n,m;要知道和点连接的边——void add...
2018-08-18 15:19:42 249
原创 第十一章例题 uva 1151 C- Buy or Build
自己用dfs实现枚举 + 对刘汝佳大神用二进制枚举的解读 /*SE:wn------王宁*//*Buy or Build 输入输出解读输入:城市编号从1-n 1.告诉你有几个case2.1 n of cities in the country (1 ≤ n ≤ 1000) 2.2 followed by the number q of existing subnetworks ...
2018-08-14 19:26:58 240
原创 第十一章例题 B - UVa1395 Slim Span
/*SE:wn------王宁使用间接排序而不是结构体实现UVa1395 Slim Span*//*思路就是从权重最小的边向上枚举边集E中的元素最大边和最小边的差值和单独一方的值没有关系,所以需要枚举。生成树的方法就是Kruskal,因为你越早找到最大边,差值就越小*//*经验总结1.你用间接排序可能能节省每次交换数据的时间——只用交换编号(操作原理:比如e[2]代表第二小的...
2018-08-14 11:15:14 222
原创 第九章例题 9-20 Dropping water balloons UVA - 10934
/*SE:wn------王宁*/前面是正解,后面的是我自己第一次尝试的代码——仅仅走出了第一步,很有借鉴意义,我也在那里做了一下总结——放在代码中的那一段注释。/*SE:wn------王宁*//*T - Dropping water balloons UVA - 10934 */#include<bits/stdc++.h>using namespace std;c...
2018-08-11 15:45:44 228
原创 第九章例题 L - Another Crisis UVA - 12186
/*SE:wn------王宁*/思路就是找出前y个需要签署workers数目最小的直接下属,将它们的值累加并且返回即可。在这里y就是(k*T - 1) / 100 + 1 ——k是直接下属的数量,T是要求的百分比。这是刘汝佳大神的写法。在我的代码中判断y是用了自己的写法,刘汝佳大神的代码就不贴了——你永远也想不到在没看原码的前提下居然和他写的一模一样,除了变量名不同。所以这是...
2018-08-10 14:52:01 217
原创 第九章例题 H - Color Length
/*SE:wn------王宁*/这题是我理解原代码最久的题目——所以看到这篇文章的你可能也想了很久吧,加油加油。今天我来给大家说一下刘汝佳大神在紫书中没有详细讲解的部分以及他的原代码中看上去好像不合逻辑的地方(其实是对的啦)。从正面推导我还解释不了——就是这个是怎么想出来的以及极其清晰的运作原理,这应该和dp的最优子结构有关系吧。书中:d(i,j)是还需要多少费用代码中:它指的是...
2018-08-10 11:28:14 208
原创 第九章例题 F-UVa11584 Partitioning by Palindromes
/*SE:wn------王宁*/ 会对刘汝佳大神的记忆化判断回文串方法进行解读,至于代码是我理解后自己写的,会更加直观一些,所以顺序,语句数量会不一样。 当然啦,刘汝佳大神的代码我会放在最后。/*SE:wn------王宁*/#include<bits/stdc++.h>using namespace std;const int maxn = 1000+5;i...
2018-08-09 10:16:56 199
原创 第九章例题 E - Jin Ge Jin Qu hao
/*SE:wn------王宁*/这道背包思路一点都不难想,大致实现也不难写。最难的是什么?是在边界值的初始化和特殊情况的处理。So, let's solve it! /*SE:wn------王宁*/#include<bits/stdc++.h>using namespace std;/*dp[i][j]是说前i首歌在时刻j所能完成的歌的数目一.初始化...
2018-08-08 09:30:20 249
原创 第九章例题 B - The Tower of Babylon UVA - 437
/*SE:wn------王宁*/刘汝佳大神源码 && 我的AC代码(可能更简洁易懂)+ 我的前期思路、解说和总结 &&我前期的失败代码 // Rujia Liu#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#...
2018-08-07 16:07:57 222
原创 第九章例题 C - Tour
/*SE:wn------王宁*/#include<bits/stdc++.h>using namespace std;const int maxn=55;double x[maxn],y[maxn],dp[maxn][maxn],dist[maxn][maxn];/*第一部分是求线段长度,no need for explanation 关键是第二部分 我之前只有...
2018-08-07 10:35:36 223
原创 第九章例题 D- Unidirectional TSP
/*SE:wn------王宁*/这是一道简单的多阶段决策题目,但是要注意细节处理。#include<bits/stdc++.h>using namespace std;const int maxr=15;const int maxc=105;int mat[maxr][maxc];int d[maxr][maxc];int path[maxc];int mai...
2018-08-07 10:23:05 228
原创 第九章例题-A A Spy in the Metro
/*SE:wn------王宁*/先贴出刘汝佳大神的源码:只有在开头有改动,因为他的遇到0不能正常结束。然后是贴出自己的源码和注释,注释很长,挑能看懂的看,有一些是解读,有一些是产生脑洞后的思考。还没ac的看解读就行了,ac的不妨也看一下我的困惑和思考过程欢迎批评与指正。大神源码在此,boom~:// UVa1025 A Spy in the Metro// Rujia L...
2018-08-06 16:23:54 243
原创 紫书P263 嵌套矩形如何输出所有路径(DAG上的动态规划)代码与解读
/*SE:wn------王宁*/我加了一些注释——划重点+帮助思考。源代码出处:https://blog.csdn.net/qq_36300700/article/details/78397748 #include <iostream>#include <stdio.h>#include <string.h>#include <mat...
2018-08-06 09:06:53 242
原创 第八章例题 UVa11134 Fabled Rooks
/*SE:wn------王宁*/首先是对行列不相关的理解,只要行列都各自满足不相关即可——好像和没说一样,但是如果不能理解这个也不能理解剩下的做法,一定要先想清楚的确可以用一维的方法解题。接下来是对那个solve函数的for循环解读——贪心思想,然后是做这道题目遇到的bug以及修复方法解读——贪心思想/*1. 未被使用过2. 能在前端满足包含条件 3. 后端要尽可能靠近当前...
2018-08-05 11:33:48 244
原创 第八章习题 E - Paper Folding
/*SE:wn------王宁*//*这一题我是按照这位 https://blog.csdn.net/weizhuwyzc000/article/details/47038989 的方式写的,我主要讲一下自己实现的注意点和一些体会*//*首先是题意的理解:自己去折纸只提示一点,最底下那“张”永远是最小单位的纸张区域然后关于规律和路线思想的提出,请看原网站。详解路线:知道路线之后从当前位置...
2018-08-03 12:58:14 265
原创 例题8-3 4 Values whose Sum is 0
/*灵魂写手soul-editor:wn------王宁*/#include<stdio.h>#include<vector>#include<algorithm>using namespace std;int a[4002];int b[4002];int c[4002];int d[4002];int sum;int n;bool f...
2018-08-02 10:47:42 212
原创 例题8-2 Building for UN
只要跑一下现有的程序你就能理解为什么书上的说法为什么成立,或者说按照书上说的方法搭出来的模型长什么样。/*editor:wn------王宁*/#include<stdio.h>int main(){ char sh[55]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; int n,i,j,first=1...
2018-08-01 22:42:35 215
原创 例题8-1 Stacks of Flapjacks
/*发布人:wn------王宁*/#include<stdio.h>int a[35];int acc;/*bottom 出现在最后,位置标号是1 top最先出来,位置标号是n*///这个函数是针对实际内存位置做出倒转操作的void reverse(int* a,int p){ int t[35]; int cc=1; int i; for(i=p;i>...
2018-08-01 21:19:38 208
转载 紫书第五章习题 5-14 UVa1598-Exchange
出处:https://blog.csdn.net/zju2016/article/details/75005098题目链接:https://vjudge.net/contest/231030#problem/N #include<iostream> #include<vector> #include<string> #i...
2018-05-26 21:46:36 253
转载 紫书第五章习题 5-13 UVa822-Queue and A
出处:题目链接:https://vjudge.net/contest/231030#problem/M又是一道简单的流程模拟题, 注意看题抠细节关键在于安排任务时是以人为主体还是以待办的事件为循环主体这要根据题目的某些要求来决定这道题目要求有冲突时需要选出lasttime最早的, 否则就选出id最小的乍一看感觉是要以待办事件为主体来找人的但是写到一半发现写不下去了, 因为在找到一个availabl...
2018-05-26 21:41:38 305
转载 紫书第五章习题 5-12 UVa511-Do You know The Way to san jose
出处:https://blog.csdn.net/kun768/article/details/43966329题目链接:https://vjudge.net/contest/231030#problem/L这题不难,但细节比较多,排序的依据有很多,比较容易出错。考差C++和STL也比较全面,比如结构体、构造函数、map、pair、vector、sort、unique、copy等等,使用C++11...
2018-05-26 21:37:59 262
转载 紫书第五章习题 5-11 UVa 12504-updating a dictionary
出处:https://blog.csdn.net/acvay/article/details/43021077题目链接:https://vjudge.net/contest/231030#problem/K题意 比较两个字典 按字典序输出所有添加 删除 修改的项 如果没有任何更新 输出 No changesSTL map的应用 对比两个字典 注意开始字符串的处理和字典可以为空 ...
2018-05-26 21:35:38 225
转载 紫书第五章习题 5-10 UVa1597-searching the web
出处:https://blog.csdn.net/u014800748/article/details/44624989题目链接:https://vjudge.net/contest/231030#problem/J本题要求模拟一个搜索引擎,该引擎可以处理四种搜索方式:term,term1 AND term2,term1 OR term2,NOT term。在题目描述部分已经介绍了搜索引擎的搭建方...
2018-05-26 21:33:02 256
转载 紫书第五章习题5-9 UVa1596-找bug
输入并模拟一段程序,输出第一个bug所在的行。每行程序有两种可能:数组定义:格式为arr[size],例如a[10];赋值语句:格式为arr[index]=value,例如a[0]=3或者a[a[0]]=3赋值语句可能会出现两种bug:下标index越界,使用未初始化变量。思路:本题有两个关键点,首先在于程序中已经出现的数组以及已经赋值过的元素的存储,可以采用两个map完成,map<stri...
2018-05-26 21:21:04 250
转载 紫书第五章习题 5-15 UVa 12333 - Revenge of Fibonacci
出处:https://blog.csdn.net/mobius_strip/article/details/27053639题目链接:https://vjudge.net/contest/231030#problem/O题目:给你一个数字串,判断他是哪一个Fib数的前缀,有多种答案输出最小的,不存在输出-1。分析:字符串,大整数。 首先,利用大整数计算Fib的前100000项...
2018-05-25 22:11:21 204
转载 紫书第五章习题 5-16 UVa 212 - Use of Hospital Facilities
出处:https://blog.csdn.net/xienaoban/article/details/52895020题目链接:https://vjudge.net/contest/231030#problem/P题意:模拟患者做手术。 其条件为:医院有Nop个手术室、准备手术室要Mop分钟,另有Nre个恢复用的床、准备每张床要Mre分钟,早上Ts点整医院开张,从手术室手术完毕转移到回复床要Mtr...
2018-05-25 17:43:44 304
转载 紫书第五章习题 5-8 UVA230-图书馆管理
出处:https://blog.csdn.net/richr_wong/article/details/50193331题目链接:https://vjudge.net/contest/231030#problem/H题意本身还是比较好理解的,要注意的地方有1.按照作者名字的字典序排序2.归还的时候是无序的利用set容器的性质做会好做一些比较坑就是数据的输入,多练习一下就好了。#include<...
2018-05-25 17:43:03 251
转载 紫书第五章习题 5-7 UVA12100-打印队列
出处:https://blog.csdn.net/richr_wong/article/details/50190371题目链接:https://vjudge.net/contest/231030#problem/G题目大意:现在有一个打印队列,里面的任务是无序的,每个任务有一个权值,打印机会从第一个任务开始执行,如果当前任务的权值是队列中最大的,那么就打印,否则就将该任务放置到队末。每次打印消耗...
2018-05-25 17:37:49 206
转载 紫书第五章习题 5-6 UVa 1595 Symmetry(暴力)
出处:https://blog.csdn.net/acvay/article/details/43015507题目链接:https://vjudge.net/contest/231030#problem/F题目描述:给出平面上N(N<=1000)个点。问是否可以找到一条竖线,使得所有点左右对称,如图所示:思路:暴力枚举可以过 如果存在对称轴的话那么对称轴的横坐标一定是最左边的点和最右边的点...
2018-05-25 17:34:53 239
转载 紫书第五章习题 5-5 UVa 10391 - Compound Words
出处:https://blog.csdn.net/czjxy881/article/details/8300237题目链接:https://vjudge.net/contest/231030#problem/E 判断一个单词是不是组合词,题目中说是不同的单词,但是如果加不同判断就会WA……所以直接无视就好了 一共最多有120000的单词,这种题有两个思路,1是合成词,2是拆分词。 ...
2018-05-25 17:13:31 210
转载 紫书第五章习题 5-4 UVa 10763 - Foreign Exchange
—— 生命的意义,在于赋予它意义原创 http://blog.csdn.net/shuangde800 , By D_Double (转载请标明)题目链接:https://vjudge.net/contest/231030#problem/D原题:Your non-profit organization (iCORE - international Confederation of Rev...
2018-05-25 17:06:37 215
转载 紫书第五章习题 5-3 UVa 10935 - Throwing cards away I
出处:https://blog.csdn.net/mobius_strip/article/details/45157587题目链接:https://vjudge.net/contest/231030#problem/C题目:给n张牌放成一叠,从上到下编号从1~n,当至少还有两张牌时,丢弃最上面的牌,第二张牌放到最下面, 重复这个过程直到只剩下一张牌,输出丢弃牌的序列以及最后剩...
2018-05-25 16:57:58 185
转载 紫书第五章习题 5-2 UVA1594 Ducci Sequence 【模拟】
出处:https://blog.csdn.net/qq_34896694/article/details/54462064题目链接:https://vjudge.net/contest/231030#problem/B题意:对于一个n元组(a1, a2, ... , an),可以对于每个数求出它和下一个数的差的绝对值,得到一个新的 n 元组 (|a1-a2|, |a2-a3|, ... , |an...
2018-05-25 16:51:17 249
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人