2020牛客暑期多校训练营(第一场)

文章目录

    • A B-Suffix Array
    • B Infinite Tree
    • C Domino
    • D Quadratic Form
    • E Counting Spanning Trees
    • F Infinite String Comparision
      • 题意:
      • 题解:
      • 代码:
    • G BaXianGuoHai, GeXianShenTong
    • H Minimum-cost Flow
    • I 1 or 2
    • J Easy Integration
      • 题意
      • 题解
      • 代码

2020牛客暑期多校训练营(第一场)

A B-Suffix Array

B Infinite Tree

C Domino

D Quadratic Form

E Counting Spanning Trees

F Infinite String Comparision

题意:

两个字符串A和B,对AAAA…和BBBB…(字符串A和B无限重复)在这里插入图片描述进行比较,输出 > = <

题解:

方法一:
字符串a和b从第一位开始比较,当比到其中最后一位时再跳转到第一位继续。那什么时候算等于呢,我一开始想的是a和b的最小公倍数,这样会超时,我们其实只需比较较长字符串的两倍即可。因为如果两个字符串不相等,那么在较长字符串的两倍范围内必将可以必出大小关系
方法二:
很简单,比较a+b和b+a的大小关系,直接输出
如果a和b相等,那么a+b肯定==b+a,否则两者肯定能必出大小

代码:

方法一:

#include <iostream>
#include <math.h>
#include <stdlib.h>
#include <cstring>
#include <stdio.h>
#include <queue>
#include <algorithm>
#include <vector>
#include <map>
#include <set>
#include <string>#define MAX 1000010using namespace std;typedef long long ll;char a[MAX];
char b[MAX];int main(){while(~scanf("%s %s",a,b)){int la=strlen(a);int lb=strlen(b);ll l=max(la,lb)*2;int ia=0,ib=0;int flag=0;for(ll i=0;i<l;i++){if(a[ia]>b[ib]){printf(">\n");flag=1;break;}else if(a[ia]<b[ib]){printf("<\n");flag=-1;break;}else {ia++;ib++;if(ia==la)ia=0;if(ib==lb)ib=0;}}if(flag==0){printf("=\n");}}return 0;
}

方法二:

#include <cassert>
#include <cmath>
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <functional>
#include <iostream>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>using namespace std;using Int = long long;template <class T1, class T2> ostream &operator<<(ostream &os, const pair<T1, T2> &a) { return os << "(" << a.first << ", " << a.second << ")"; };
template <class T> void pv(T a, T b) { for (T i = a; i != b; ++i) cerr << *i << " "; cerr << endl; }
template <class T> bool chmin(T &t, const T &f) { if (t > f) { t = f; return true; } return false; }
template <class T> bool chmax(T &t, const T &f) { if (t < f) { t = f; return true; } return false; }char S[100010];
char T[100010];int main() {for (; ~scanf("%s%s", S, T); ) {const string s = S;const string t = T;const string st = s + t;const string ts = t + s;puts((st < ts) ? "<" : (st > ts) ? ">" : "=");}return 0;
}

G BaXianGuoHai, GeXianShenTong

H Minimum-cost Flow

I 1 or 2

J Easy Integration

题意

对于一个n,求出在这里插入图片描述的值,结果可以写成p/q的形式,最后输出 (p⋅q −1 )mod998244353 的值

题解

沃利斯公式
在这里插入图片描述
直接有公式,带入计算就行

代码

#include<bits/stdc++.h>
using namespace std;const int manx=2e6+5;
const int N=1e3+5;
const int mod=998244353;ll dp[manx],n;
ll poww(ll a, ll b){ll ans=1;while(b){if(b&1) ans=ans*a%mod;a=a*a%mod;b>>=1;}return ans%mod;
}
ll inv(ll x){return poww(x,mod-2);
}
int main()
{dp[1]=1;for(int i=2;i<=2000005;i++) dp[i]=dp[i-1]*i%mod;while(cin>>n){ll ans=dp[n]*dp[n]%mod*inv(dp[2*n+1])%mod;cout<<ans<<endl;}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/319738.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P4755-Beautiful Pair【笛卡尔树,线段树】

正题 题目链接:https://www.luogu.com.cn/problem/P4755 题目大意 nnn个数字的一个序列&#xff0c;求有多少个点对i,ji,ji,j满足aiaj≤max{ak}(k∈[l,r])a_i\times a_j\leq max\{a_k\}(k\in[l,r])ai​aj​≤max{ak​}(k∈[l,r]) 解题思路 如果构建一棵笛卡尔树的话那么两个点…

C# 接受MQTT服务器推送的消息

前言&#xff1a;MQTT是IBM开发的一个即时通讯协议。MQTT是面向M2M和物联网的连接协议&#xff0c;采用轻量级发布和订阅消息传输机制。大家可以直接上GitHub下载MQQT服务的源码&#xff0c;源码地址&#xff1a;https://github.com/mqtt/mqtt.github.io/wiki/libraries主要内容…

【堆】【DP】Niyaz and Small Degrees(luogu 7600[APIO 2021 T3]/luogu-CF1119F)

正题 luogu 7600[APIO 2021 T3] luogu-CF1119F 题目大意 给你一棵树&#xff0c;给出每条边割掉的代价&#xff0c;问你对于0⩽k<n0\leqslant k<n0⩽k<n&#xff0c;使得每个点的度数小于k的最小代价 解题思路 首先考虑单询问的情况 可以设fx,1/0f_{x,1/0}fx,1/0​…

Boundary(2020多校第二场B)

Boundary&#xff08;2020多校第二场B&#xff09; 文章目录题意&#xff1a;题解&#xff1a;思路1&#xff1a;代码&#xff1a;思路二代码题意&#xff1a; 坐标平面有n个点&#xff08;不与原点&#xff08;0,0&#xff09;重复&#xff09;,现考虑一个圆&#xff0c;&…

.NET Core开发日志——Linux版本的SQL Server

SQL Server 2017版本已经可以在Linux系统上安装&#xff0c;但我在尝试.NET Core跨平台开发的时候使用的是Mac系统&#xff0c;所以这里记录了在Mac上安装SQL Server的过程。最新的SQL Server没有专门为Mac系统准备安装包&#xff0c;但由于Mac系统上支持Docker&#xff0c;所以…

P3313-[SDOI2014]旅行【树链剖分,线段树】

正题 题目链接:https://www.luogu.com.cn/problem/P3313 题目大意 nnn个点的一棵树&#xff0c;每个点有一个颜色和权值&#xff0c;有操作 修改一个点的权值修改一个点的颜色询问一条路径的某颜色的权值和询问一条路径的某颜色的权值最大值 解题思路 询问路径直接树剖先&am…

AIsing Programming Contest 2020 总结

A - Number of Multiples 按照题目意思走就行 #define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #include<iostream> #include<algorithm> using namespace std; int l,r,d; int main() {IO;cin>>l>>r>>d;if(r<l) swap(l,r);…

【倍增】【线段树】雨林跳跃(luogu 7599[APIO 2021 T2])

正题 luogu 7599[APIO 2021 T2] 题目大意 给你一排树中每棵树的高度&#xff0c;每次跳跃可以跳到左/右边第一棵比该树高的树&#xff0c;问你从A-B中某棵树跳到C-D中的某棵树的最小步数&#xff08;A⩽B<C⩽DA\leqslant B< C\leqslant DA⩽B<C⩽D&#xff09; 解题…

Duration(2020多校第二场D)

Duration&#xff08;2020多校第二场D&#xff09; 文章目录题意题解代码首先&#xff0c;非常感谢出题人出这个题&#xff0c;避免了我全wa的尴尬题意 求两个时间相差多少秒&#xff0c;两个时间为同一天 题解 全部转化成秒&#xff0c;然后求差 代码 #include<bits/s…

dotnetClub 的前世今生

三年之前&#xff0c;我做过一个在线调查&#xff0c;当时有不少人还是对一个在线社区表示出期待。.NET Core 技术正风声水起&#xff0c;所以我就开始了用它来开发一个论坛的计划。最近正式将项目推动到了一个 MVP 的状态。感兴趣的朋友&#xff0c;现在可以访问 preview.dotn…

P3308-[SDOI2014]LIS【最小割】

正题 题目链接:https://www.luogu.com.cn/problem/P3308 题目大意 三个nnn个数字的序列A,B,CA,B,CA,B,C。要求删除其中某些位置iii使得AAA的最长上升子序列至少减少111且删去位置BBB的权值和最小的情况下满足删去位置的CCC值升序排序后字典序最小。 解题思路 首先BBB值最小很…

Codeforces Round #656 (Div. 3)

A.Three Pairwise Maximums 首先最大的在原序列中肯定出现至少两次否则不能构造&#xff0c;即min max max&#xff0c;对于答案min min max肯定满足题意 #define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #include<iostream> #include<algorithm>…

【LCT】网络(luogu 2173/ZJOI2011)

正题 luogu 2173 题目大意 给你一个图&#xff0c;每条边有有一种颜色&#xff08;numcolor⩽10num_{color}\leqslant 10numcolor​⩽10&#xff09;&#xff0c;保证以下性质&#xff1a; 1.一个点连出的同色边数不大于2 2.不存在同色边组成的环 现在让你进行3钟操作&…

【每日一题】7月13日题目精讲—Kingdom

【每日一题】7月13日题目精讲—Kingdom 文章目录题目描述题解&#xff1a;代码:时间限制&#xff1a;C/C 2秒&#xff0c;其他语言4秒 空间限制&#xff1a;C/C 1048576K&#xff0c;其他语言2097152K 64bit IO Format: %lld题目描述 X王国有n位官员&#xff0c;编号从1到n。国…

P3309-[SDOI2014]向量集【线段树,凸壳】

正题 题目链接:https://www.luogu.com.cn/problem/P3309 题目大意 nnn个操作 在序列末尾加入一个向量(x,y)(x,y)(x,y)询问加入的第l∼rl\sim rl∼r个向量中的一个向量和(x,y)(x,y)(x,y)的点积最大值 强制在线&#xff0c;点积的定义为x1x2y1y2x_1x_2y_1y_2x1​x2​y1​y2​ …

CanalSharp-mysql数据库binlog的增量订阅消费组件Canal的.NET客户端

一.前言CanalSharp是阿里巴巴开源项目mysql数据库binlog的增量订阅&消费组件 Canal 的.NET客户端&#xff0c;关于什么是 Canal&#xff1f;又能做什么&#xff1f;我会在后文为大家一一介绍。CanalSharp 这个项目&#xff0c;是由我和 WithLin(主要贡献) 完成&#xff0c;…

Codeforces Round #657 (Div. 2)

A. Acacius and String 爆零&#xff01;太菜了&#xff0c;下来终于把A题代码调AC了 #define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #include<iostream> #include<algorithm> #include<cstring> #include<string> using namespace…

【树链剖分】软件管理(luogu 2146/金牌导航 树链剖分-2)

正题 luogu 2146 金牌导航 树链剖分-2 题目大意 有若干软件&#xff0c;除了软件0&#xff0c;所有软件都依赖且只依赖于另外一个软件 当要删除一个软件时&#xff0c;所有依赖于该软件的软件都要删掉 当安装一个软件时&#xff0c;该软件依赖的软件都要安装 问你每次操作…

【每日一题】7月14日题目精讲—压缩

来源&#xff1a;牛客网&#xff1a; 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K 64bit IO Format: %lld题目描述 给一个由小写字母组成的字符串&#xff0c;我们可以用一种简单的方法来压缩其中的重复…

P3306-[SDOI2013]随机数生成器【BSGS】

正题 题目链接:https://www.luogu.com.cn/problem/P3306 题目大意 给出一个p,a,b,x1,tp,a,b,x_1,tp,a,b,x1​,t&#xff0c;有xiaxi−1bx_iax_{i-1}bxi​axi−1​b 求一个最小的nnn使得xntx_ntxn​t 解题思路 下标缩一下先变成x0x_0x0​会更好算一点&#xff0c;只考虑x0x_0…