多校联训 DS 专题】的更多相关文章

CF1039D You Are Given a Tree 容易发现,当 \(k\) 不断增大时,答案不断减小,且 \(k\) 的答案不超过 \(\lfloor\frac {n}{k}\rfloor\) ,因此不同的答案个数是 \(\sqrt n\) 级别的,可以用一种类似整体二分的方式求解. 对于一个 \(k\) ,从叶子节点贪心向上匹配即可得到答案. 点击查看代码 #include<bits/stdc++.h> using namespace std; int n; int ver[2000…
[UR #20]跳蚤电话 将加边变为加点,方案数为 \((n-1)!\) 除以一个数,\(dp\) 每种方案要除的数之和即可. 点击查看代码 #include<bits/stdc++.h> using namespace std; int n; int ver[200005],ne[200005],head[100005],cnt; inline void link(int x,int y){ ver[++cnt]=y; ne[cnt]=head[x]; head[x]=cnt; } cons…
\(\mathcal{Description}\)   Link.   给定 \(n\) 个函数,第 \(i\) 个有 \(f_i(x)=a_ix^3+b_ix^2+cx_i+d~(x\in[l_i,r_i]\cap\mathbb Z)\),还有 \(m\) 条形如 \(x_u\le x_v+d\) 的限制,请最大化 \(\sum_{i=1}^nf_i(x_i)\) 或声明无解.   \(n,|l_i|,|r_i|\le 100\). \(\mathcal{Solution}\)   很久没遇到…
就 背景描述 一排 N 个数, 第 i 个数是 Ai , 你要找出 K 个不相邻的数, 使得他们的和最大. 请求出这个最大和. 输入格式 第一行两个整数 N 和 K. 接下来一行 N 个整数, 第 i 个整数表示 Ai . 输出格式 一行一个整数表示最大和, 请注意答案可能会超过 int 范围 样例输入 3 2 4 5 3 样例输出 7 数据范围 对于 20% 的数据, N, K ≤ 20 . 对于 40% 的数据, N, K ≤ 1000 . 对于 60% 的数据, N, K ≤ 10000…
Password password.in/.out 描述 你来到了一个庙前,庙牌上有一个仅包含小写字母的字符串 s. 传说打开庙门的密码是这个字符串的一个子串 t,并且 t 既是 s 的前缀又是 s 的后缀并且还在 s 的中间位置出现过一次. 如果存在这样的串,请你输出这个串,如有多个满足条件的串,输出最长的那一个. 如果不存在这样的串,输出"Just a legend"(去掉引号). 输入格式 仅一行,字符串 s. 输出格式 如题所述 样例输入 fixprefixsuffix 样例输…
传送门 密码:waxadyt T1 暴力 对于任意相邻的两个值 中间能到达的最大高度是固定的 加上头尾,判一下就好了 代码//感谢Th Au K #include<bits/stdc++.h> using namespace std; #define ll long long #define ull unsigned long long #define db double #define N 2000100 #define jd (isdigit(c)) #define gg c=getcha…
T1 光哥为了不让某初二奆佬恶心到我们而留下的火种 (貌似没这题平均分就100-了) 思路:就一横一竖让后就gztopa嘛 #include <bits/stdc++.h> using namespace std; int bigg,n; int l,r; ]; ]; int main(){ scanf("%d",&n); ;i<=;i++) puke[i]=; puke[]+=; ;i<=n;i++){ scanf("%d",&am…
T1 大水题!!难度简单,显然的贪心策略即可,but... 思路:首先我们按与i点作战后活下来的士兵排序,然后 若当前剩余兵力足够直接减掉战斗死亡人数,如果不够就加 够再打它,但是!我们在考完试观察测试点时发现了这样一组 测试点: 2 7 4 5 1 emmm,这组测试点是什么意思呢??我们只需要4个人就可以 打下这座城市,但打这个城市的4个人中需要阵亡7人!(???喵喵喵???) 这就很尴尬了,当我们遇到这样的点时,我们只需凑够阵亡人数即可 不用管剩余人数(显然无人生还...) T1- #in…
试题链接:http://www.accoders.com/contest.php?cid=1895    考试密码请私信; 特别鸣谢:zkc奆佬帮助我优化本篇题解(语言表达方面) T1 显然二分求解的一道题,难度中等,但是会被疯狂卡精度 非常恶心,非常毒瘤 思路:输入时维护一个前缀和数组,然后分别从前,后方向遍历,找最大最小值 ,同时记录L,R,二分x,check函数中另起一个数组算一下'-x'后的数组然后,还是 从前后遍历,找最大最小值,记录l,r,最后判断L和R的大小是不是也符合l,r的大小…
试题链接:http://www.accoders.com/contest.php?cid=1894   考试密码请私信; T1 残忍WA 0,明明就是一道非常菜的字符串QAQ 思路:一共找四种东西,AC,CA,ACA,CAC,显然后两者 都可以作为AC或CA使用,每次查找后将查找到的串全变为 'B'避免重复搜索,三个bool变量记录即可 T1- #include <bits/stdc++.h> using namespace std; ]; int len; bool ac,ca,ak; in…