codeforces:65

前言

C和D题比较不错,ABE都有亿些很恶心的细节问题(尤其是E)
E题自己编写1A的读者,可以到@asta处领取8888元的现金红包(bushi)

CF65A Harry Potter and Three Spells

Description\text{Description}Description

你可以用 aaa 克沙子得到 bbb 克叶子, ccc 克叶子得到 ddd 克金子,eee 克金子得到 fff 克沙子.
给出 a,b,c,d,e,fa,b,c,d,e,fa,b,c,d,e,f,求出是否可以通过有限的沙子得到无限的金子.

Solution\text{Solution}Solution

不难得出一个有解的条件:b×d×f>a×b×cb\times d\times f>a\times b\times cb×d×f>a×b×c.
但这是建立在六个变量均正的情况.
考虑有哪些有解的情况没有考虑.

  1. c=0,d≠0c=0,d\neq0c=0,d=0 :金子可以无中生有,根本不需要叶子
  2. a=0,b≠0,d≠0a=0,b\ne0,d\ne0a=0,b=0,d=0 : 叶子可以无中生有,且可以从叶子转化成金子
  3. e=0,f≠0,b≠0,d≠0e=0,f\ne0,b\ne0,d\ne0e=0,f=0,b=0,d=0 : 沙子可以无中生有,但是这个其实不用特判,因为符合原来的式子

特判打全即可,不用开 longlong.

Code\text{Code}Code

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define debug(...) fprintf(stderr,__VA_ARGS__)
const int N=4e5+100;
const int mod=998244353;
//char buf[1<<23],*p1=buf,*p2=buf,obuf[1<<23],*O=obuf;
//#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)
inline ll read(){ll x(0),f(1);char c=getchar();while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}while(isdigit(c)){x=(x<<1)+(x<<3)+c-'0';c=getchar();}return x*f;
}int n,m;signed main(){
#ifndef ONLINE_JUDGEfreopen("a.in","r",stdin);freopen("a.out","w",stdout);
#endifint a=read(),b=read(),c=read(),d=read(),e=read(),f=read();if(b*d*f>a*c*e||(d&&c==0)||(d&&b&&a==0)) printf("Ron");else printf("Hermione");
}
/*
*/

CF65B Harry Potter and the History of Magic

Description\text{Description}Description

给你 nnn 个年份 x1...nx_{1...n}x1...n.

请你更改一些数字,使年份按时间顺序(即非递减)排列,以使其中没有任何日期晚于 201120112011 或早于 100010001000.

在每个日期中最多只能将一位数字改成别的数字.
1≤n≤10000,1000≤xi≤99991\le n\le10000,1000\le x_i\le99991n10000,1000xi9999.

Solution\text{Solution}Solution

不难发现贪心策略,使前面的年份尽可能的小,一定是不劣的.
分情况讨论,如果大于前一项,从高位开始尝试往低改;如果小于前一项,就从低位开始尝试往高改即可.
最后判一下是否超过 201120112011.
实现上,有一些上下取整的细节,但整体还不算太恶心.

Code\text{Code}Code

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define debug(...) fprintf(stderr,__VA_ARGS__)
const int N=4e5+100;
const int mod=998244353;
//char buf[1<<23],*p1=buf,*p2=buf,obuf[1<<23],*O=obuf;
//#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)
inline ll read(){ll x(0),f(1);char c=getchar();while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}while(isdigit(c)){x=(x<<1)+(x<<3)+c-'0';c=getchar();}return x*f;
}int n,m;
int a[1050],mi[5]={1,10,100,1000,10000};
inline int f(int x,int pos){return x%mi[pos+1]/mi[pos];
}
signed main(){
#ifndef ONLINE_JUDGEfreopen("a.in","r",stdin);freopen("a.out","w",stdout);
#endifn=read();for(int i=1;i<=n;i++) a[i]=read();a[0]=1000;for(int i=1;i<=n;i++){if(a[i]>=a[i-1]){int d=a[i]-a[i-1];for(int k=3;k>=0;k--){int o=f(a[i],k);if(!o||d<mi[k]) continue;a[i]-=min(d/mi[k]*mi[k],o*mi[k]);break;}}else{int d=a[i-1]-a[i];for(int k=0;k<=3;k++){int o=9-f(a[i],k);if(o*mi[k]<d) continue;a[i]+=(d+mi[k]-1)/mi[k]*mi[k];//printf("k=%d o=%d d=%d add=%d\n",k,o,d,(d+mi[k]-1)/mi[k]);break;}}//printf("%d\n",a[i]);if(a[i]<a[i-1]){printf("No solution");return 0;}}if(a[n]>2011) printf("No solution");else{for(int i=1;i<=n;i++) printf("%d\n",a[i]);}
}
/*
*/

CF65C Harry Potter and the Golden Snitch

Description\text{Description}Description

有一个金色飞贼沿着 (x1,y1,z1)→(x2,y2,z2)→...→(xn,yn,zn)(x_1,y_1,z_1)\to (x_2,y_2,z_2)\to ...\to (x_n,y_n,z_n)(x1,y1,z1)(x2,y2,z2)...(xn,yn,zn) 的轨迹以 vsv_svs 的速度匀速运动.
哈利的最大速度是 vpv_pvp,初始位置是 (px,py,pz)(p_x,p_y,p_z)(px,py,pz).
请求出哈利抓住金色飞贼的最快时间和抓住它的位置.
n≤10000,vp≥vsn\le 10000,v_p\ge v_sn10000,vpvs.

Solution\text{Solution}Solution

vp≥vsv_p\ge v_svpvs 是本题的关键条件,这意味着本题的答案是具有单调性的.
所以二分时间判断是否可以抓到即可.

注意:

  1. 虽然精度只要求到 10−610^{-6}106,但是由于坐标的计算会放大精度,所以我们的精度需要开到 10−1210^{-12}1012(这里不是平方关系,只是要开小一点).
  2. 需要开 long double,否则精度太小可能会死循环.
  3. 注意不等号的精度问题.

Code\text{Code}Code

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define double long double 
#define ull unsigned long long
#define debug(...) fprintf(stderr,__VA_ARGS__)
const int N=1e4+100;
const double eps=1e-12;
inline ll read(){ll x(0),f(1);char c=getchar();while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}while(isdigit(c)){x=(x<<1)+(x<<3)+c-'0';c=getchar();}return x*f;
}int n,m;
double t[N],sum[N],v;
double x[N],y[N],z[N];
double X,Y,Z,V;
inline double tim(double x,double y,double z){return sqrt((x-X)*(x-X)+(y-Y)*(y-Y)+(z-Z)*(z-Z))/V;
}
bool check(double w){for(int i=1;i<=n;i++){if(sum[i]>=w-eps){double o=(w-sum[i-1])/t[i];double xx=x[i-1]+(x[i]-x[i-1])*o,yy=y[i-1]+(y[i]-y[i-1])*o,zz=z[i-1]+(z[i]-z[i-1])*o;return tim(xx,yy,zz)-eps<w;}}return false;
}
signed main(){
#ifndef ONLINE_JUDGEfreopen("a.in","r",stdin);freopen("a.out","w",stdout);
#endifn=read();for(int i=0;i<=n;i++) scanf("%Lf%Lf%Lf",&x[i],&y[i],&z[i]);scanf("%Lf%Lf%Lf%Lf%Lf",&V,&v,&X,&Y,&Z);for(int i=1;i<=n;i++){double d=sqrt((x[i]-x[i-1])*(x[i]-x[i-1])+(y[i]-y[i-1])*(y[i]-y[i-1])+(z[i]-z[i-1])*(z[i]-z[i-1]));t[i]=d/v;sum[i]=sum[i-1]+t[i];}if(tim(x[n],y[n],z[n])>sum[n]+eps){printf("NO\n");return 0;}double st=0,ed=sum[n];while(ed-st>eps){double mid=(st+ed)/2;if(check(mid)) ed=mid;else st=mid;}printf("YES\n%.10Lf\n",st);double w=st;for(int i=1;i<=n;i++){if(sum[i]>w-eps){double o=(w-sum[i-1])/t[i];double xx=x[i-1]+(x[i]-x[i-1])*o,yy=y[i-1]+(y[i]-y[i-1])*o,zz=z[i-1]+(z[i]-z[i-1])*o;printf("%.10Lf %.10Lf %.10Lf",xx+eps,yy+eps,zz+eps);return 0;}}
}
/*
*/

CF65D Harry Potter and the Sorting Hat

Description\text{Description}Description

444 个变量 G,R,S,HG,R,S,HG,R,S,H,初始的值均为 000.
给出一个长度为 nnn 的字符串,从前往后进行以下过程:

  1. 若为 G,R,S,HG,R,S,HG,R,S,H 四者之一,则给对应的变量加一.
  2. 否则(为 ??? ),就给四个变量中最小的加一,若有多个最小值,则给任意一个加一.

求处理完整个字符串后,四个变量是否有可能成为(非严格)最小值.
n≤10000n\le 10000n10000

Solution\text{Solution}Solution

设计状态为 (i,a,b,c,d)(i,a,b,c,d)(i,a,b,c,d) 表示进行到第 iii 个字符,四个变量分别为 a,b,c,da,b,c,da,b,c,d.
注意到,由于每次都只有在对相同的最小值加一时才会导致状态的分裂,并且可能会再后面的问号时合并状态,所以对于同一个 iii,状态数是收敛的.
直接 dfs 暴搜加 hash 去重即可.

Code\text{Code}Code

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define double long double 
#define ull unsigned long long
#define debug(...) fprintf(stderr,__VA_ARGS__)
const int N=1e4+100;
const double eps=1e-12;
inline ll read(){ll x(0),f(1);char c=getchar();while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}while(isdigit(c)){x=(x<<1)+(x<<3)+c-'0';c=getchar();}return x*f;
}int n,m;
int x[N];
map<ll,bool>mp;
bool vis[5];
void dfs(int k,int a,int b,int c,int d){int mn=min(a,min(b,min(c,d)));if(k>n){if(a==mn) vis[1]=1;if(b==mn) vis[2]=1;if(c==mn) vis[3]=1;if(d==mn) vis[4]=1;return;}ll o=1ll*a*(n+1)*(n+1)*(n+1)+1ll*b*(n+1)*(n+1)+1ll*c*(n+1)+d;if(mp[o]) return;if(x[k]){if(x[k]==1) dfs(k+1,a+1,b,c,d);else if(x[k]==2) dfs(k+1,a,b+1,c,d);else if(x[k]==3) dfs(k+1,a,b,c+1,d);else if(x[k]==4) dfs(k+1,a,b,c,d+1);   }else{if(a==mn) dfs(k+1,a+1,b,c,d);if(b==mn) dfs(k+1,a,b+1,c,d);if(c==mn) dfs(k+1,a,b,c+1,d);if(d==mn) dfs(k+1,a,b,c,d+1);}mp[o]=1;
}
signed main(){
#ifndef ONLINE_JUDGEfreopen("a.in","r",stdin);freopen("a.out","w",stdout);
#endifn=read();char c;for(int i=1;i<=n;i++){scanf(" %c",&c);if(c=='G') x[i]=1;else if(c=='H') x[i]=2;else if(c=='R') x[i]=3;else if(c=='S') x[i]=4;}dfs(1,0,0,0,0);if(vis[1]) printf("Gryffindor\n");if(vis[2]) printf("Hufflepuff\n");if(vis[3]) printf("Ravenclaw\n");if(vis[4]) printf("Slytherin\n");
}
/*
*/

CF65E Harry Potter and Moving Staircases

Description\text{Description}Description

有一个 nnn 个点 mmm 条边的无向图,哈利初始在结点 111,哈利可以沿着边任意移动,过程中任意时刻可以选择一条边,改变它的一个端点,但是每条边只能被修改一次.
请构造一种方案使哈利走遍所有楼层,或者报告无解.
n≤105,m≤2×105n\le 10^5,m\le 2\times10^5n105,m2×105

Solution\text{Solution}Solution

阴间大特判题.
容易找到一种比较正确的整体方案:dfs,过程中——

  1. 若出边连向走过的结点,则直接把边改向一个未走过的结点,递归 dfs.
  2. 若出边连向未走过的结点,则先递归 dfs,回溯时在把边改向一个未走过的结点,递归 dfs.

不难发现这样一定是最优的.
然后就是 通过观察 WA 的数据 处理亿点点细节问题:

  1. 改边连向的点应该优先连向有度数的点.
  2. 有可能会出现 111 没有度数但存在解的情况,这时候需要尝试把一条边直接改为连向 111,同时这个边不应该是一条边连接两个点的简单图形.(否则改完还是会死掉)
  3. 改为连向 111 的边应该优先选择成环的边,这样会更优.

具体实现留给读者自行思考.(或者参考我实现丑的一批的代码)

Code\text{Code}Code

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define double long double 
#define ull unsigned long long
#define debug(...) fprintf(stderr,__VA_ARGS__)
const int N=4e5+100;
const double eps=1e-12;
inline ll read(){ll x(0),f(1);char c=getchar();while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}while(isdigit(c)){x=(x<<1)+(x<<3)+c-'0';c=getchar();}return x*f;
}int n,m;
struct node{int to,nxt;
}p[N<<1];
int fi[N],cnt;
inline void addline(int x,int y){p[++cnt]=(node){y,fi[x]};fi[x]=cnt;return;
}
int jd[N],du[N];
set<int>s1,s2;
int dfn[N<<2],tim,tot;
struct edge{int x,y,id;
}e[N];
int siz[N];
int ans[N],num;
int flag,O,ID;
void print(){int pl(1);if(!O) flag=0;printf("YES\n%d\n",tot+flag);for(int i=1;i<=tim+1;i++){if(dfn[i]) ans[++num]=dfn[i];else{printf("%d ",num);for(int j=1;j<=num;j++) printf("%d ",ans[j]);putchar('\n');   num=0;if(pl<=tot){printf("%d %d %d\n",e[pl].id,e[pl].x,e[pl].y);   ++pl;}}if(i==1&&flag){printf("1 1\n%d %d 1\n",ID,O);num=0;}}return;
}
int fa[N];
vector<int> v[N];
int find(int x){return x==fa[x]?x:fa[x]=find(fa[x]);}
bool vis[N];
void dfs(int x){dfn[++tim]=x;vis[x]=1;for(int i=fi[x];~i;i=p[i].nxt){if(jd[i]==1) continue;int f=jd[i];jd[i]=jd[i^1]=1;int to=p[i].to;//printf("x=%d to=%d\n",x,to);dfs(to);dfn[++tim]=x;if((!s1.empty()||!s2.empty())&&!f){int o;if(!s1.empty()) o=(*s1.begin()),s1.erase(o);else o=(*s2.begin()),s2.erase(o);//printf("x=%d o=%d\n",x,o);dfn[++tim]=0;e[++tot]=(edge){x,o,i/2+1};dfs(o);dfn[++tim]=x;}}return;
}
int E;
signed main(){
#ifndef ONLINE_JUDGEfreopen("a.in","r",stdin);freopen("a.out","w",stdout);
#endifmemset(fi,-1,sizeof(fi));cnt=-1;  n=read();m=read();for(int i=1;i<=n;i++) fa[i]=i;for(int i=1;i<=m;i++){e[i].x=read();e[i].y=read();++du[e[i].x];++du[e[i].y];if(find(e[i].x)==find(e[i].y)){E=i;}else fa[find(e[i].x)]=find(e[i].y);}if(du[1]==0){flag=1;if(E){e[E].y=1;O=e[E].x;ID=E;}else{for(int i=1;i<=m;i++){if(du[e[i].x]<=1) swap(e[i].x,e[i].y);if(du[e[i].x]>1){e[i].id=1;O=e[i].x;ID=i;e[i].y=1;break;}}}}memset(du,0,sizeof(du));for(int i=1;i<=n;i++) fa[i]=i;for(int i=1;i<=m;i++){int x=e[i].x,y=e[i].y;addline(x,y);addline(y,x);fa[find(x)]=find(y);++du[x];++du[y];if(e[i].id) jd[cnt]=jd[cnt^1]=2;}//for(int i=1;i<=n;i++) debug("i=%d fa=%d\n",i,fa[i]);for(int i=2;i<=n;i++){if(i==find(i)&&find(1)!=i){if(du[i]) s1.insert(i);else s2.insert(i);}}dfs(1);if(!s1.empty()||!s2.empty()) printf("NO\n");else print();return 0;
}
/**/

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

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

相关文章

C - Rencontre Gym - 102798C

C - Rencontre Gym - 102798C 参考题解&#xff1a; 参考一 参考二 题意&#xff1a; 有一棵树&#xff0c;树上的点分为三种&#xff0c;&#xff08;一个点可以为多种&#xff09;&#xff0c;现在分别在三种点中随机选一点a&#xff0c;b&#xff0c;c&#xff0c;然后找到…

API标准化成为技术团队面临的最大挑战

调查表明&#xff0c;API 标准化成为了技术团队面临的最大挑战。SmartBear 发布了 2019 年 API 状态报告“The State of API 2019”&#xff0c;此报告旨在为 API 行业建立关于软件团队在 2019 年规划、设计、开发、测试、记录和监控 API 的方法、实践和工具的基准。此次调查有…

线性代数五之高斯消元——[SDOI2010]外星千足虫,[HNOI2013]游走,[HNOI2011]XOR和路径,[hdu 4035]Maze

多类型高斯消元杂题[SDOI2010]外星千足虫descriptionsolutioncode[HNOI2013]游走descriptionsolutioncode[HNOI2011]XOR和路径descriptionsolutioncodeMaze(树上高斯消元)problemsolutioncode[SDOI2010]外星千足虫 description solution 高斯消元的模板题 虽然感觉问了个最…

P6117-[JOI 2019 Final]コイン集め【贪心】

正题 题目链接:https://www.luogu.com.cn/problem/P6117 题目大意 平面上有2n2n2n的硬币&#xff0c;要给每个硬币匹配一个x∈[1,n],y∈[1,2]x\in[1,n],y\in[1,2]x∈[1,n],y∈[1,2]的位置&#xff08;不能重复&#xff09;。 使得所有硬币和它们匹配位置的曼哈顿距离之和最小…

CF788789(div1div2)

文章目录前言CF789A Anastasia and pebblesDescription\text{Description}DescriptionSolution\text{Solution}SolutionCode\text{Code}CodeCF789B Masha and geometric depressionDescription\text{Description}DescriptionSolution\text{Solution}SolutionCode\text{Code}Cod…

【HDU-2376】Average distance

【HDU-2376】Average distance 题意&#xff1a; 给你一个树&#xff0c;求树上任意两个点之间的距离的平均值 题解&#xff1a; 就是求出任意两点之间的距离和然后除以边数 ”任意两点之间的距离“ 和怎么算&#xff1f; 我们去考虑边的贡献情况&#xff1a; 对于边(u,v)&…

Ocelot 资源汇总

前言最近一两年.NET Core的关注度持续上升, 微服务及云原生应用开发上采用.NET Core也越来越多&#xff0c;Ocelot 作为.NET Core平台下一款开源的API 网关开发库越来越得到社区的认可&#xff0c;应用到生产中的案例也有好几百了。春节抽空整理了现有网上公开的Ocelot相关的资…

P6698-[BalticOI 2020 Day2]病毒【AC自动机,dp,SPFA】

正题 题目链接:https://www.luogu.com.cn/problem/P6698 题目大意 有一个包含0∼G−10\sim G-10∼G−1的字符集&#xff0c;其中有nnn种变换&#xff0c;能够将一个字符ai(ai>1)a_i(a_i>1)ai​(ai​>1)变为一串字符bib_ibi​&#xff0c;当一个字符串中只剩下000和1…

[TJOI2017]城市(未解决)

[TJOI2017]城市 题意&#xff1a; 一棵树&#xff0c;现在要求你将一条边改变他的位置&#xff0c;&#xff08;即改变左右所连接的端点&#xff0c;权值不变&#xff09;&#xff0c;修改后任意两点相互可达&#xff0c;且使得两个点之间的最大交通费用最小 题解: 有O(n^2…

数论三之组合数学Ⅰ-Max-Min Sums,Binomial Coefficient is Fun,Strivore,Bubble Sort,放棋子,LOJ6671,Iroha and a Grid

组合计数我最爱Max-Min SumsdescriptionsolutioncodeBinomial Coefficient is FundescriptionsolutioncodeStrivoredescriptionsolutioncodeBubble Sortdescriptionsolutioncode[HAOI2016]放棋子descriptionsolutioncodeEntropyIncreaser 与 MinecraftdescriptionsolutioncodeD…

12.15模拟:总结

前言 20分 《好耶》 很好的把所有错误都犯了一遍。 8&#xff1a;30写完AB题 11&#xff1a;00还是只写完AB题, T1代码没有提交 T2数组算错空间全RE T3快结束了发现CE了删掉第二档后还交成了之前写的失败版本(结果靠这破玩意水到了仅有的20分) T4考场其实猜到了结论但没证出来…

语言之争与读书有感

移动互联网无处不在的今天&#xff0c;不同的学习方式让我们受益颇多。有人喜欢通过手机阅读各类技术专家的公众号分享&#xff1b;有人喜欢通过逛逛不同的博客&#xff0c;来了解当前时下的技术&#xff1b;也有人喜欢通过社区的形式&#xff0c;跟优秀的导师们一起梳理和发展…

CF566E-Restoring Map【bitset】

正题 题目链接:https://www.luogu.com.cn/problem/CF566E 题目大意 有一棵树&#xff0c;但是你不知道它的形态。你现在只知道距离每个点距离不超过222的点集&#xff0c;但是你不知道每个点集是对应哪个点的。 现在要你求这棵树。 2≤n≤10002\leq n\leq 10002≤n≤1000 解…

所有人都可以是开发人员——《Office 365开发入门指南》视频教程即将上市

今天是春节假期的最后一天&#xff0c;在这里给全国的朋友们拜个晚年&#xff0c;祝大家身体健康&#xff0c;晚年幸福啊。这个春节大家过的怎么样啊&#xff0c;我自己是在老家过的年&#xff0c;家乡的年味还是比较浓的&#xff0c;也再次感谢朋友圈的大家给我看了各地的风光…

CodeForces: 360(div1)361(div2)

文章目录前言CF361A Levko and TableDescription\text{Description}DescriptionSolution\text{Solution}SolutionCode\text{Code}CodeCF361B Levko and PermutationDescription\text{Description}DescriptionSolution\text{Solution}SolutionCode\text{Code}CodeCF360A Levko a…

数论三之排列组合Ⅱ——Virus Tree 2,RGB Coloring,123 Triangle,排列计数,排队,卡农

丝且人一口Virus Tree 2descriptionsolutioncodeRGB Coloringdescriptionsolutioncode123 Triangledescriptionsolutioncode[SDOI2016]排列计数descriptionsolutioncode[HNOI2012]排队descriptionsolutioncode[HNOI2011]卡农descriptionsolutioncodeVirus Tree 2 description …

B - Labyrinth Gym - 102798B

B - Labyrinth Gym - 102798B 题意&#xff1a; n * m的地图&#xff0c;有k个障碍物&#xff0c;给你起点到终点&#xff0c;从起点到终点的最短距离 1<n,m<200000 nm<200000 0<k<42 1<q<100000 题解&#xff1a; 如果没有障碍物&#xff0c;两点之间…

P2483-[模板]k短路/[SDOI2010]魔法猪学院【主席树,堆】

正题 题目链接:https://www.luogu.com.cn/problem/P2483 题目大意 给出一个nnn个点mmm条边的一张带权有向图&#xff0c;求一个最大的kkk使得1∼n1\sim n1∼n的前kkk短路径长度和不超过EEE。 2≤n≤5000,1≤m≤2105,1≤E≤1072\leq n\leq 5000,1\leq m\leq 2\times 10^5,1\le…

.NET Core开发日志——OData

简述OData&#xff0c;即Open Data Protocol&#xff0c;是由微软在2007年推出的一款开放协议&#xff0c;旨在通过简单、标准的方式创建和使用查询式及交互式RESTful API。类库在.NET Core中想要使用OData功能的话需要添加Microsoft.AspNetCore.OData包。dotnet add package M…

数论四之综合训练——Magic Pairs,Crime Management,Top Secret,组合数问题

数论综合训练Magic PairsproblemsolutioncodeCF107D Crime ManagementproblemsolutioncodeUVA12183 Top SecretproblemsolutioncodeP3746 [六省联考2017]组合数问题problemsolutioncodeMagic Pairs problem 已知A0xB0y≡0(modn)A_0xB_0y\equiv 0\pmod nA0​xB0​y≡0(modn)恒…