「LibreOJ β Round」ZQC 的手办】的更多相关文章

https://loj.ac/problem/504 题解 对于区间取\(\max\),这个比较好办,直接在线段树上打标记就行了. 如果让我们弹出前\(n\)个数,我们可以用类似超级钢琴的思想,队列中每个元素是一个线段树节点,弹出时记录最值的位置,然后分成两半继续做就行了. 代码 #include<bits/stdc++.h> #define N 500009 using namespace std; typedef long long ll; int n,a[N],m; int tr[N&l…
https://loj.ac/problem/504 一类套路题. 首先这个玩意可以两个logn树套树做.... naive地,把区间内的所有数拿出来放进堆里.不断取出. 太多了. 所以开始只保留那初始logn区间最小值,弹出之后再找出左右区间下一个 线段树维护最小值和最小值位置. 和超级钢琴,异或粽子,K个串都一样. 或者说k短路. 只不过这个是线段树载体. #include<bits/stdc++.h> #define reg register int #define il inline…
题意 题目链接 Sol 首先把第一个人能吃掉的食物删掉 然后对每个人预处理出能吃到的食物,直接限流跑最大流就行了 判断一下最后的最大流是否等于重量和 注意一个非常恶心的地方是需要把除1外所有人都吃不到的食物删掉 #include<bits/stdc++.h> using namespace std; const int MAXN = 1e6 + 10, INF = 1e9 + 10; int sqr(int x) {return x * x;} inline int read() { char…
题目描述 首先一定是让ZQC吃掉他能吃到的所有的球,这样才能尽可能的满足ZQC的质量是所有玩家中最大的. 在满足某一个玩家的质量不会超过ZQC的情况下,让这个玩家吃掉尽可能多的球,让其他玩家吃掉的尽可能少 所以由源点向每个玩家连流量为 ZQC的质量-该玩家的质量 的边. 再由每个玩家向他能吃到的球连流量为 这个球的质量(或更大) 的边 最后由球向汇点连流量为 该球的质量 的边,这也就限制了每个球对吃能到它的玩家的贡献最多为这个球的质量. 若源点到汇点能够满流,则ZQC能够成为质量最大的玩家(之一…
题目: 题解: 比较容易发现 : \(x,y\) 的贡献是独立的. 所以可以分开考虑. 假设我们考虑 \(x\).向量在 \(x\) 方向的投影依次是 : \(\{a_1,a_2, ... ,a_n\}\) 那么在点 \(i\) 时候的 \(x\) 坐标即 : \(1 + \sum_{k=1}^ia_i\),设 \(s_i = \sum_{k=1}^ia_i\) 那么贡献即 : \(\sum_{i=1}^[(1+s_{i-1})*(1+s_i) < 0]\) 也就是 : \(\sum_{i=1}…
题面 传送门 题解 首先\(x\)和\(y\)两维互相独立,可以分开考虑,我们以\(x\)为例 我们把\(x\)做个前缀和,那么就是问有多少\(i\)满足\(s_is_{i-1}<0\),其中\(s_0=1\).这个条件等价于\(\max(s_i,s_{i-1})>0\)且\(\min(s_i,s_{i-1})<0\).我们可以容斥一下,就是总数减去\(\max(s_i,s_{i-1})<0\)的个数减去\(\min(s_i,s_{i-1})>0\)的个数 注意到一次单点修改…
分析 代码(我的代码是瞎jb水过去的) #include<bits/stdc++.h> using namespace std; #define li long long li a[]; int main(){ li n=,i,j,k,kk; scanf("%lld",&k); a[++n]=; ==)a[++n]=,k/=; a[++n]=; )-,w=;i>;i/=) &&i!=){j=i;;w^=;k/=i;} ){puts(;} pri…
分析 二分倍数 然后考虑dp[i][j]表示选到第i个x轴覆盖到j的情况y轴最多覆盖多少 贡献柿子可以画图然后相似三角形得到 代码 #include<bits/stdc++.h> using namespace std; ],b[],n,m,dp[][]; inline bool ck(int mid){ int i,j,k; memset(dp,-0x3f,sizeof(dp)); dp[][]=; ;i<=n;i++) ;j<=m;j++) &&(j-k)*a[…
题目   点这里看题目. 分析   首先不难发现答案具有单调性,因此可以二分答案.答案上限为\(V=2m\times \max\{a_i, b_i\}\).   考虑如何去判断当前的答案.设这个答案为\(mid\).   我们可以将一块三角形拼图看做一个向量,表示在这个拼图内走过的位移.因此我们的叠放的拼图可以看做一组连续的向量.   因此可以发现拼图摆放顺序不影响结果.   故可以考虑一个 DP :   \(f(i,j,k)\):前\(i\)块拼图可不可以走到\((j,k)\)这个位置.   …
#547. 「LibreOJ β Round #7」匹配字符串   题目描述 对于一个 01 串(即由字符 0 和 1 组成的字符串)sss,我们称 sss 合法,当且仅当串 sss 的任意一个长度为 mmm 的子串 s′s's​′​​,不为全 1 串. 请求出所有长度为 nnn 的 01 串中,有多少合法的串,答案对 655376553765537 取模. 输入格式 输入共一行,包含两个正整数 n,mn,mn,m. 输出格式 输出共一行,表示所求的和对 655376553765537 取模的结…