- 博客(85)
- 收藏
- 关注
原创 玩个球
一、题目二、解法各种卡///玄学神题,设dp[i][j]dp[i][j]dp[i][j]为长度为iii,状态压缩是jjj(000白111黑),转移枚举取最大值就可以了。结合subtask5/6\tt subtask 5/6subtask5/6的特殊dpdpdp(只考虑那一个的位置),就可以拿到858585分的高分。在考虑一下怎么把n=30n=30n=30的数据卡过去,有一个神奇的思路,是基于:∑i=1nmin(2i,Cni)≈1e7\sum_{i=1}^n\min(2^i,C_n^i)≈1e
2020-08-26 22:00:08 144
原创 玩个树
一、题目二、解法首先可以感知一个结论:最优决策下翻转路径两两不交(好想,好理解,好证)一般都是树dpdpdp了,可以根据数据范围设计dpdpdp状态,设dp[i][0/1]dp[i][0/1]dp[i][0/1]为不留///留一条链给父亲去处理,主要是转移,如果你不想讨论的话可以先枚举确定d=2d=2d=2的边,然后就好写很多,蒟蒻作者就用这个加链拿了808080分。详细讲一下正解如何转移,先重新定义边权为c⊕dc\oplus dc⊕d,为000不翻转,111需要翻转,2,32,32,3无所谓
2020-08-26 20:01:03 145 1
原创 [HAOI2018]染色
一、题目点此看题二、解法我记得当时考试时候拿了505050分,还是挺不错了(就是不会写NTT\tt NTTNTT)看到恰好出现
2020-08-26 16:27:04 122
原创 [SDOI2013]保护出题人
一、题目点此看题二、解法感觉这道题网上讲解不是特别清楚,我来补一发详细讲解吧,因为作者也是花了好久才搞懂。首先把题目所求转化成形式化表达(其中sss是生命值aaa的前缀和):∑i=1nmaxj=1is[i]−s[j−1]x[i]+(i−j)d\sum_{i=1}^n\max_{j=1}^i \frac{s[i]-s[j-1]}{x[i]+(i-j)d}i=1∑nj=1maxix[i]+(i−j)ds[i]−s[j−1]是不是感觉难以优化,我们改换一种写法:∑i=1nmaxj=1is[i
2020-08-25 19:17:15 127
原创 1-11G. JM的月亮神树
一、题目二、解法先跑一遍最短路,建出最短路图(由在最短路上的边构成)对于每一个点,都有一个引路人和他有边连接,这个引路人在这个点的最短路径上,每个点选出和引路人相连接的边就可以保证是最短路树,选出的边找权值最小的,权值相同找编号最小的(不能直接最小生成树哟)#include <cstdio>#include <cstring>#include <algorithm>#include <queue>using namespace std;
2020-08-25 16:56:51 228
原创 [NOI2020]美食家
一、题目点此看题二、解法首先写出暴力dpdpdp,设dp[i][j]dp[i][j]dp[i][j]为第jjj天到了点iii的最大愉悦值,转移:dp[v][j]=dp[u][j−w]+a[v]dp[v][j]=dp[u][j-w]+a[v]dp[v][j]=dp[u][j−w]+a[v]可以考虑用矩阵快速幂优化,每个点需要拆成555个表示555种不同时间的最大愉悦值。但这里我们要重新定义矩阵乘法:ci,k=max(ai,j+bj,k)c_{i,k}=\max(a_{i,j}+b_{j,k})ci,
2020-08-24 15:20:46 249
原创 CF962F Simple Cycles Edges
一、题目点此看题二、解法https://www.cnblogs.com/lizbaka/p/v-DCC.html
2020-08-21 08:55:33 208
原创 CF1111E Tree
一、题目点此看题二、解法这道题不要被题目特点限制思路了,不一定是虚树的题目。有一个简单的dpdpdp,设dp[i][j]dp[i][j]dp[i][j]为前iii个数划分成jjj组的方案数,转移考虑第iii个数怎么划分,他不能和他的祖先划分到一起,设他的祖先个数为fff,那么他可以划分到的组别有max(0,j−f)max(0,j-f)max(0,j−f)组(因为一个点的祖先和祖先也存在冲突,所以祖先和祖先一定在不同组别),还可以独自划分一组:dp[i][j]=dp[i−1][j]×max(0,j
2020-08-19 22:05:53 260 1
原创 CF362D Fools and Foolproof Roads
一、题目点此看题二、解法首先要判断无解的情况,设tottottot为一开始的连通块数量:添加这ppp条边后连通块数量还是很多:tot−p>qtot-p>qtot−p>q一开始连通块数量就很少:tot<qtot<qtot<q连通块数量正好,需要添加边,但又不能添加其他边:!m&q=n&p!m\&q=n\&p!m&q=n&p然后观察代价的计算,是两边边权和+1+1+1,发现这和合并果子一模一样,直接来一个贪心,
2020-08-17 10:24:27 154
原创 CF377D Developing Game
一、题目点此看题二、解法这道题要做一个题意转化,其实题目是要满足这样一个式子:maxl≤minv≤maxv≤minr\max l\leq\min v\leq\max v\leq\min rmaxl≤minv≤maxv≤minr你会发现minv≤maxv\min v\leq\max vminv≤maxv是一定成立的,可以找到一对中介变量(L,R)(L,R)(L,R),使maxl≤L≤minv,maxv≤R≤minr\max l\leq L\leq\min v,\max v\leq
2020-08-16 15:16:50 129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人