标签-ybt

题意一个序列 $S$ ,合并两个区间 $[l,x]$ 和 $[x,r]$ 对答案的贡献为 $(S_l+S_r)\times S_x$ 。先任取 $mid$ 将序列不断二分,直到每个区间只有一个元素后再合并。求答案的最大值,以及每阶段二分时取的 $mid$ 。按照阶段从小到大,每阶段内从左到右输出。其中序列的长度 $N\le 300$ 。题解显然区间dp,就是输出二分的方法有点麻烦。我最开始是...
access_time    bookmark 题解    comment 1 条评论
肝总结肝的我肝疼。10026.电路维修把题意转化一下,可以把每个端点看成节点,有导线相连的对角线就连一条边权为0的边,不相连的对角线就连一条边权为1的边。然后用最短路什么的做就行了。看题解里面说最短路比较慢,再加上本来就该练习广搜,我就写了双向广搜。struct Edge{ int next,to,w,from; } edge[1000005]; int n,m,t,cnt,head...
access_time    bookmark 题解    comment 0 条评论
众所周知,人类的本质是鸽子。10018.数的划分水题。 int ans,n,k; void dfs(int num,int sum,int now) { if (now==k) { if (sum==n) ans++; return; } int mx=n-sum-k+now+1; for (int i=num;i&l...
access_time    bookmark 题解    comment 0 条评论
10011.愤怒的牛二分答案,然后贪心进行验证,即只要达到了枚举的距离能放就放,如果最后能放下就验证成功。int n,m,ans,s[100005]; inline bool check(int x) { int now=1; for (int i=1;i<m;i++) { int j=now+1; while (s[now]+...
access_time    bookmark 题解    comment 0 条评论
徐妈让我们做一本通的题,说是巩固基础。但说实话这里面的题又烂又水,就连第一章11道题就有双倍经验我也是无语的。这一章完成时间:两天(其实就是一个晚自习1h+两个中午40min),而且还包括颓废时间10000.活动安排贪心区间覆盖经典模型。按照右端点排序,然后依次判断能不能放即可。struct Edge{ int s,f; } edge[1005]; int n,ans; inlin...
access_time    bookmark 题解    comment 0 条评论