搜索结果
查询Tags标签: cin,共有 547条记录-
【快速幂】AcWing875.快速幂——模板题
AcWing875.快速幂题解 #include <iostream>using namespace std;typedef long long LL;int main() {int n, a, b, p;cin >> n;while(n -- ){int res = 1;cin >> a >> b >> p;while(b){if(b & 1) res = res * (LL)a % p;b >>= 1;a…
2022/6/9 23:22:49 人评论 次浏览 -
【欧拉函数】AcWing873. 欧拉函数——欧拉函数的证明与代码
AcWing873.欧拉函数证明与题解#include <iostream>using namespace std;int phi(int x) {int res = x;for(int i = 2; i <= x / i; ++i){if(x % i == 0){res = res / i * (i - 1); //先除后乘防止爆intwhile(x % i == 0) x /= i;}}if(x > 1) res = res / x *…
2022/6/7 23:22:42 人评论 次浏览 -
(树形dp)Spring tree
题目链接 Spring tree 题目概述 给定n个铁球,重量为wi,再给定n - 1条弹簧(可变的边权)所链接的两端,每个位置上的铁球可以相互交换。弹簧的长度为每个节点的子树边权和+1。问从根节点(1节点)开始的最大深度。 输入 #1 4 1 2 3 4 1 2 2 3 3 4输出 #1 23样例说明 In …
2022/6/4 23:21:43 人评论 次浏览 -
【P3373 【模板】线段树 2】(2022.06.04)pj
只需扣(线段树)模板2就可。。 线段树模板2: #include<iostream> #include<fstream> #include<cstring> #include<string> #include<algorithm> #include<cstdio> #include<cmath> #include<queue> #include<stack&…
2022/6/4 23:21:31 人评论 次浏览 -
线性 DP - 数字三角形模型
原题 : 数字三角形 https://www.acwing.com/problem/content/900/ 题意 给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 分析 对于每一个位置 …
2022/5/23 23:22:48 人评论 次浏览 -
Codeforces Round #792 (Div. 1 + Div. 2)解题报告
A. Digit Minimization 题意:对一个数字串轮流进行如下操作: 1.任选两个不同位置的数字交换 2.删除最后一个数字 问最后剩下的最小的数字是多少 分析:贪心,最后剩下的数一定是第一个位置上的数,那么一开始就把最小的数字放第一位即可,特判数字串长度为2的情况 ac代码…
2022/5/22 23:06:49 人评论 次浏览 -
D
#include<bits/stdc++.h> using namespace std;typedef pair<int,int> pii;const int N = 2e5+10;int fa[N]; bool isleaf[N];int get_dis(int x){int res=0;while(fa[x]!=x){res++;x=fa[x];}return res; }int print_path(int x){stack<int> stk;stk.pu…
2022/5/6 6:14:22 人评论 次浏览 -
C
#include<bits/stdc++.h> using namespace std;int main(){ios::sync_with_stdio(false);int test;cin>>test;while(test--){int ans;string s;cin>>s;int len=s.length();int pos1=-1,pos0=-1;for(int i=0;i<len;i++){if(s[i]==1) pos1=i;if(pos0==…
2022/5/6 6:14:21 人评论 次浏览 -
洛谷P1119 灾后重建
floyd的变形,本质是求从i号顶点到j号顶点只经过前k号点的最短路程。 #include<bits/stdc++.h> using namespace std;const int N = 300,INF = 0x3f3f3f3f;int n,m,qn; int g[N][N],t[N];void update(int k){for(int i=0;i<n;i++)for(int j=0;j<n;j++)if(g[i][…
2022/5/5 23:44:17 人评论 次浏览 -
B - 电影节
题目链接 https://acm.sdut.edu.cn/onlinejudge3/contests/3989/problems/B 并查集模板 唯一值得做的地方是循环输入(一开始真的忘记了) 放AC代码1 #include<bits/stdc++.h>2 using namespace std;3 int n,m,a,b,c,d;4 int p[100010];5 6 void init(int n)7 {8 …
2022/5/5 23:18:52 人评论 次浏览 -
顺序表应用3:元素位置互换之移位算法
题目链接:https://acm.sdut.edu.cn/onlinejudge3/problems/3326 有点迷了,1e6在编译器上是过不了的,完全是溢出栈的,做的我有点懵,我觉的做题策略还是应该在杭电上; 这道题我感觉卡的也不是很严,我这个算法设计已经远远超出题目的空间复杂度(1)了; 无可厚非,我…
2022/5/5 20:12:42 人评论 次浏览 -
[AcWing 844] 走迷宫
BFS 使用STL中的queue点击查看代码 #include<iostream> #include<cstring> #include<queue> using namespace std; typedef pair<int, int> PII; const int N = 100 + 10; int n, m; int g[N][N], d[N][N]; queue<PII> q; int bfs() {q.pus…
2022/5/5 6:15:44 人评论 次浏览 -
827. 双链表
题目链接 827. 双链表 实现一个双链表,双链表初始为空,支持 \(5\) 种操作: 在最左侧插入一个数; 在最右侧插入一个数; 将第 \(k\) 个插入的数删除; 在第 \(k\) 个插入的数左侧插入一个数; 在第 \(k\) 个插入的数右侧插入一个数 现在要对该链表进行 \(M\) 次操作,进…
2022/5/4 23:18:42 人评论 次浏览 -
codeforces1335B
#include<bits/stdc++.h> using namespace std; const int N = 30; char arr[N]; int main(){int t;cin>>t;while(t--){int n,a,b;cin>>n>>a>>b;int x=0;for(char i = a;i<=z;i++)arr[x++]=i;for(int i=0,j=0,cnt=0;i<n;j++){if(j==n…
2022/5/4 6:14:35 人评论 次浏览 -
传递闭包
传递闭包模板#include<iostream> #define maxn 10007 using namespace std; int a[maxn], dis[107][107], n, m; int main(void) {ios::sync_with_stdio(false);cin.tie(0); cout.tie(0);cin >> n;for (int i = 1; i <= n; i++)for (int j = 1; j <= n;…
2022/5/2 23:42:43 人评论 次浏览