Processing math: 100%
上一页 1 2 3 4 5 6 7 ··· 13 下一页
摘要: 原题链接 题意:在 1n1e9,1m1e9,1<k1e9 的情况下,构造出 $1\leqslant x \leqslant n, 1 \leqslant y\leqslant 阅读全文
posted @ 2021-06-01 09:17 u_yan 阅读(19) 评论(0) 推荐(0)
摘要: 原题链接 题意:f(i,j) 代表了从 ij 的简单路径边权和。要求构造给定树的边权使得 ni=1nj=if(i,j) 最大。 题解:设一条边为 <u,v> 然后设 cntu 为节点 \(u\ 阅读全文
posted @ 2021-05-31 19:46 u_yan 阅读(27) 评论(0) 推荐(0)
摘要: 三元环 问题描述,给定无向图,然后求出三元环个数 建图做法:先把无向图转化为 DAG ,把边去重,然后把度数从小的点连向度数大的点。 显然的是,每个三元环只能被找到一次。 时间复杂度证明: 可知边 (x,y) 被遍历的次数是 outy,所以总复杂度是 \(m\times 阅读全文
posted @ 2021-05-31 11:24 u_yan 阅读(239) 评论(0) 推荐(0)
摘要: 原题链接 题意:求 m1x=0[gcd(a,m)=gcd(a+x,m)] 题解:d=gcd(a,m) 然后发现 gcd(a,m)=gcd(ad,md) 并且 \((a+m) \mod m 阅读全文
posted @ 2021-05-30 11:26 u_yan 阅读(31) 评论(0) 推荐(0)
摘要: φ(x)=pk111(p11)×pk212(p21)×pk313(p31) \(\varphi (x) =x \times \frac{(p_1-1)}{p_1} \times \frac{(p_2-1) 阅读全文
posted @ 2021-05-30 11:15 u_yan 阅读(37) 评论(0) 推荐(0)
摘要: 原题链接 题意:每次加一个数,要求最小 $\sum max_ - min_, 题解:本来以为就是纯贪心,然后发现竟然是区间dp,就是先排完序,然后就加入然后取 min。 代码: #include <iostream> #include <bits/stdc++.h> using namesp 阅读全文
posted @ 2021-05-27 13:45 u_yan 阅读(38) 评论(0) 推荐(0)
摘要: 普通莫队 把区间分成许多个长度为 n 的小区间,然后以左端点区间位置为第一关键字,然后右端点为第二关键字排序。 这样的时间复杂度是 O(n×n) 的时间复杂度,因为,一个区间一个区间的看,第一个区间,很显然是右指针必须走 n 步,然后左指针 阅读全文
posted @ 2021-05-25 11:23 u_yan 阅读(38) 评论(0) 推荐(0)
摘要: 原题链接 题意:给出 |s|\lesqlant1500 并且给出哪些字母是好哪些是坏,然后要求求出一共有多少本质不同的字串,使得坏串个数不超过 k 个。 题解:显然可以直接 n2 暴力找然后,用字符串 Hash 判重。 代码: #include <bits/st 阅读全文
posted @ 2021-05-20 10:15 u_yan 阅读(39) 评论(0) 推荐(0)
摘要: Hash #include <algorithm> #include <cstring> #include <iostream> #include <vector> #include <map> using namespace std; typedef long long ll; typedef u 阅读全文
posted @ 2021-05-20 09:52 u_yan 阅读(45) 评论(0) 推荐(0)
摘要: 原题连接 题意:给出 nm10 行的矩阵,要求出来,炮兵能打到横竖打两格,然后要求最多放多少个炮兵。 题解:当发现尽管每行是 2m 即最大是 1024 但是如果把限制加入,每行每个炮兵相邻不能小于 2,所以预处 阅读全文
posted @ 2021-05-19 17:16 u_yan 阅读(44) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 ··· 13 下一页
点击右上角即可分享
微信分享提示