上一页 1 2 3 4 5 6 7 8 9 ··· 33 下一页
摘要: link #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair<ll, ll>PLL; typedef pair<int, int 阅读全文
posted @ 2021-07-21 11:48 OvO1 阅读(39) 评论(0) 推荐(0)
摘要: link #思路: 由于It is guaranteed that the total length of all given segments doesn't exceed \(10^{5}\).所以暴力的标记每个能够通过的点跑bfs就好了。 注意标记的时候借助$pair和map$,如果映射到一维 阅读全文
posted @ 2021-07-20 20:21 OvO1 阅读(69) 评论(0) 推荐(0)
摘要: 参考博客 #题意: 求满足$x1<x2<x3$和$y2<y1<y3$的三元组个数 #思路: 不难想到先对$x$排序,再处理$y$的情况,然后就推不出来了。 应当排序后枚举每个点,每次将该点与前面的点统计答案,再将该点的贡献更新。 假设$sum1$表示第一个点的个数,$sum2$表示满足$x1<x2$ 阅读全文
posted @ 2021-07-20 16:16 OvO1 阅读(78) 评论(0) 推荐(0)
摘要: #思路: $1.$当n为偶数时才有解,因为出现的面是成对出现的。 $2.$分析一下递推式,假设先不排除是矩形的情况,那么对于一个周长为$n$的图形,可以有三种操作: 左边或右边仅某一边有一个单独的小正方形,删除后变成周长为$n-2$的图形 左边和右边都没有单独的小正方形,删除最下面一行,变成周长为$ 阅读全文
posted @ 2021-07-20 11:57 OvO1 阅读(73) 评论(0) 推荐(0)
摘要: A 汽水瓶 思路: 模拟,其实也可以考虑贡献,每次都相当于少了两个汽水瓶,所以$res=n/2$ ##代码: int main(){ int n; while(cin>>n){ if(!n) break; int res=0; while(n>=2){ if(n==2){ res++;break; 阅读全文
posted @ 2021-07-19 20:53 OvO1 阅读(51) 评论(0) 推荐(0)
摘要: 题单:https://www.luogu.com.cn/training/9372 P3879 [TJOI2010]阅读理解 题型:字符串检索 空间卡的很紧,普通的trie会MLE const int maxn=5e5+100; bool st[maxn][1010]; int nex[maxn][ 阅读全文
posted @ 2021-07-19 10:35 OvO1 阅读(147) 评论(0) 推荐(0)
摘要: #模板 struct trie{ int nex[maxn][26],idx; bool exist[maxn]; // 该结点结尾的字符串是否存在 void insert(string s,int l){ // 插入字符串 int p=0; for(int i=0;i<l;i++){ int c= 阅读全文
posted @ 2021-07-19 09:14 OvO1 阅读(50) 评论(0) 推荐(0)
摘要: 题解链接 阅读全文
posted @ 2021-07-18 17:46 OvO1 阅读(324) 评论(0) 推荐(0)
摘要: 传送门 视频讲解 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair<ll, ll>PLL; typedef pair<int, 阅读全文
posted @ 2021-07-18 14:17 OvO1 阅读(47) 评论(0) 推荐(0)
摘要: 传送门 思路: 首先考虑暴力的做法,枚举两个点计算距离后取最小值,复杂度$O(n^{4})$ 考虑怎么优化。 首先可以确定的是,一定要枚举一个点,那么可以通过控制坐标的大小关系将绝对值去掉。 假设对于点$(i,j)\(,只考虑点\)(x,y)$满足$i<=x<=n,j<=y<=m$ 那么代价就变成了 阅读全文
posted @ 2021-07-17 23:00 OvO1 阅读(96) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 33 下一页