【AtCoder】AGC033(A-F)】的更多相关文章

C - K-th Substring 题解 找出第K大的子串,重复的不计入 这个数据范围可能有什么暴力可以艹过去吧,但是K放大的话这就是后缀自动机板子题啊= = 代码 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> //#define ivorysi #define MAXN 5005 #define ep…
AGC033 A - Darker and Darker 直接BFS #include <bits/stdc++.h> #define fi first #define se second #define pii pair<int,int> #define mp make_pair #define pb push_back #define space putchar(' ') #define enter putchar('\n') #define eps 1e-10 #define…
[BZOJ3998]弦论(后缀自动机) 题面 BZOJ 题解 这题应该很简单 构建出\(SAM\)后 求出每个点往后还能构建出几个串 按照拓扑序\(dp\)一些就好了 然后就是第\(k\)大,随便搞一下就好 #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> #includ…
[BZOJ2693]jzptab(莫比乌斯反演) 题面 讨厌权限题,只能跑到别的OJ上交 和这题是一样的 多组数据 求\[\sum_{i=1}^n\sum_{j=1}^mlcm(i,j)\] 题解 前面的部分直接看上面的那个链接 \[ans=\sum_{d=1}^nd\sum_{i=1}^{n/d}i^2S(\frac{n}{id})S(\frac{m}{id})\mu(i)\] 其中\(S(x)=1+2+...x=\frac{x(x+1)}{2}\) 令\(T=id\) \[ans=\sum_…
[BZOJ3140]消毒(二分图匹配) 题面 Description 最近在生物实验室工作的小T遇到了大麻烦. 由于实验室最近升级的缘故,他的分格实验皿是一个长方体,其尺寸为abc,a.b.c 均为正整数.为了实验的方便,它被划分为abc个单位立方体区域,每个单位立方体尺寸 为111.用(i,j,k)标识一个单位立方体,1 ≤i≤a,1≤j≤b,1≤k≤c.这个实验皿已经很久没有人用了,现在,小T被导师要求将其中一些单位立方体区域进 行消毒操作(每个区域可以被重复消毒).而由于严格的实验要求,他…
[HDU1695]GCD(莫比乌斯反演) 题面 题目大意 求\(a<=x<=b,c<=y<=d\) 且\(gcd(x,y)=k\)的无序数对的个数 其中,你可以假定\(a=c=1\) 所有数都\(<=100000\) 数据组数\(<=3000\) 题解 莫比乌斯反演 作为一道莫比乌斯反演的题目 首先我们要迈出第一步 如果有\(gcd(x,y)=k\) 那么,我们就有\(gcd(\frac{x}{k},\frac{y}{k})=1\) 所以,现在问题相当于转化为了求 \(…
[BZOJ4712]洪水(动态dp) 题面 BZOJ 然而是权限题QwQ,所以粘过来算了. Description 小A走到一个山脚下,准备给自己造一个小屋.这时候,小A的朋友(op,又叫管理员)打开了创造模式,然后飞到 山顶放了格水.于是小A面前出现了一个瀑布.作为平民的小A只好老实巴交地爬山堵水.那么问题来了:我们把这 个瀑布看成是一个n个节点的树,每个节点有权值(爬上去的代价).小A要选择一些节点,以其权值和作为代价将 这些点删除(堵上),使得根节点与所有叶子结点不连通.问最小代价.不过到…
[agc006f]Blackout(神仙题) 翻译 给定一个\(n*n\)的网格图,有些格子是黑色的.如果\((x,y),(y,z)\)都是黑色的,那么\((y,x)\)也会被染黑,求最终黑格子数量. 题解 网格图我们显然是存不下的,把它转化成图来考虑.于是题目变成了:给定一个\(n\)个点\(m\)条边的图,如果\(x\rightarrow y\),\(y\rightarrow z\)的边都存在,那么连边\(z\rightarrow x\),回答边的数量. 然后开始手动翻译题解. 首先,我们可…
[BZOJ1088]扫雷(递推) 题面 BZOJ 题解 忽然发现这就是一道逗逼题. 只需要枚举一下第一个是什么,后面都能够推出来了.. #include<iostream> using namespace std; #define MAX 11111 int f[MAX],ans,a[MAX],n; bool check() { for(int i=1;i<=n;++i) if(f[i]<a[i-1]+a[i])return false; else if(f[i]==3&&…
[BZOJ2763]飞行路线(最短路) 题面 BZOJ Description Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一定的价格.Alice和Bob现在要从一个城市沿着航线到达另一个城市,途中可以进行转机.航空公司对他们这次旅行也推出优惠,他们可以免费在最多k种航线上搭乘飞机.那么Alice和Bob这次出行最少花费多少? Input 数据的第一行有三个…