- 博客(9)
- 收藏
- 关注
原创 CSP-S 2020游记(11.7)
Day 0学校开运动会。下午坐车去考点,路上打了个树剖,打着打着电脑没电了。(好在有打完保存)晚上又写了缩点板子,把P1073调出来了。然后快乐颓废,mcDOMCER服手感又回来了。cbrzjwlzy平安京开黑很快乐。颓到2点。和同学奶了一口T1模拟。Day 1上午敲了各种模板。扩展CRT来不及敲,就看了会代码。下午匆匆忙忙地去了考场。开题。T1一看就是一个非常interesingduliu的大模拟。昨晚奶中了。花了10min看题,整理思路又花了10min,到14:50才开始写题。此时内心有点
2020-11-08 16:03:29 266 1
原创 洛谷P1005 矩阵取数游戏
传送门Solution:首先发现每一行都是独立的。发现可以dp,设f[i][j]为i到j的最大分数。决策有两种,当前取i或当前取j。显然要加高精。具体细节见代码。code:#include <iostream>#include <cstdio>#include <cstring>using namespace std;typedef long long LL;const int MAXN = 107;int N, M;struct BIGNU
2020-11-07 01:21:47 151
原创 洛谷P1073 最优贸易
传送门Solution:有一种显然的做法——缩点之后在DAG上dp。对于一个强连通分量,假设在它当中的某个结点买入,另外一个结点卖出,那么对于该强连通分量内能获得的最大收益是\max{a[u]} - \min{a[u]} (u为结点编号)那么可以缩点,缩点之后变成DAG,想到可以在DAG上dp?设f[u]表示从1号点到u号点所经历的点中的水晶球价格的最小值,然后对于每个点用该点价格减去最小值,并与答案ans取个max。发现可行,因为没有后效性。坑点:题目要求从1号点到N号点,所以拓扑排序初始入队
2020-11-07 00:42:40 138
原创 洛谷P1072 Hankson的趣味题
传送门solution:很妙的数学推导题易知,一般的,令k=gcd(a,b)k = \gcd(a, b)k=gcd(a,b),则gcd(a/k,b/k)=1\gcd(a / k, b / k) = 1gcd(a/k,b/k)=1。那么将gcd(x,a0)=a1\gcd(x, a_0) = a_1gcd(x,a0)=a1转化为gcd(x/a1,a0/a1)=1\gcd(x / a_1, a_0 / a_1) = 1gcd(x/a1,a0/a1)=1 ①又由b1=lcm(x,b0)
2020-11-04 21:17:49 160
原创 洛谷P1967 货车运输
传送门不愧是NOIP2013TG的题目。solution:为了让车获得最大的载重,他们走的路径一定是这个图的最大生成树上的路径。那么建树,问题转化为查询树上两点间路径上每条边的边权的最小值。这不就是树剖的板子?但是我们发现这并不是维护点权,是维护边权。仔细思考发现,我们可以将每条边的边权转到其深度较大的点上(即赋值到儿子上)。只需要在对树进行操作的时候(如用树剖求两点间所经过路径的最小值)要注意避开LCA(x,y)LCA(x, y)LCA(x,y)这个点。因为这个点代表的是LCA(x,y)LC
2020-11-04 13:25:21 86
原创 洛谷P7043 村国
传送门Solution:这题乍一看毫无思路,但是仔细思考(指思考了两天),找到了突破口。手玩一下样例,设最大值为AiA_iAi(在第iii个结点),那么在旅行若干次iii后,其相邻结点中会有一个Aj=AiA_j = A_iAj=Ai(在第j个结点)。此时若iii < jjj,则继续旅行iii,使得Aj=Ai+1A_j = A_i + 1Aj=Ai+1。接下来应该旅行jjj,而旅行一次jjj后,因为jjj的相邻结点中iii的AAA值最大,且此时AiA_iAi又会大于(或等于,取决于ii
2020-11-04 13:15:12 107
原创 洛谷P1631 序列合并
传送门Solution:首先将a与b数组分别排序。原理:对于每个i,a_i + b_i <= a_i + b_{i+1} <= … <= a_i + b_N流程:对于每个i,初始化时将不等式打头的那个扔进优先队列。取出最小值,弹出,然后将该不等式“所在位置”的后一位扔进优先队列。如取出的值是a_3 + b_5,接下来应将a_3 + b_6扔进优先队列。注意当取出的值为a_x + b_x时,应将a_{x+1} + b_x,a_x + b_{x+1}扔进优先队列。重复步骤2
2020-11-03 22:59:56 91
原创 21:角谷猜想
总时间限制: 1000ms 内存限制: 65536kB描述所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。 程序要求输入一个整数,将经过处理得到1的过程输出来。输入一个正整数N(N 输出从输入整数到1的步骤,每
2016-08-05 11:25:01 4281
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人