9/21 VP补题+质因子分解
Posted 钟钟终
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9/21 VP补题+质因子分解相关的知识,希望对你有一定的参考价值。
Scholomance Academy
VP时候思路太乱,要是当时少和队友讨论,加紧时间,能快点出来。
#include<bits/stdc++.h>
//#define int long long
#define endl '\\n'
#define For(i,a,b) for(i=(a);i<=(b);++i)
#define ios (ios::sync_with_stdio(false),cin.tie(0),cout.tie(0))
using namespace std;
const int N=7e6+5;
const int inf=1e18;
const int mod=998244353;
int n,a[N],b[N],d[N],g1,g2,cnt;
struct node
double x,y;
e[N];
void solve()
cin>>n;
for(int i=1;i<=n;i++)
char c;int s;
cin>>c>>s;d[i]=s;
if(c=='+') a[++g1]=s;
else b[++g2]=s;
sort(d+1,d+n+1);
sort(a+1,a+g1+1);sort(b+1,b+g2+1);
for(int i=1;i<=n;i++)
int l=lower_bound(b+1,b+g2+1,d[i])-b;
int r=lower_bound(a+1,a+g1+1,d[i])-a;
e[++cnt]=(g2-l+1)*1.0/g2,(g1-r+1)*1.0/g1;
// cout<<d[i]<<" "<<e[cnt].x<<" "<<e[cnt].y<<endl;
double ans=0;
for(int i=2;i<=cnt;i++)
ans+=(e[i-1].x-e[i].x)*1.0*(e[i].y);
cout<<fixed<<setprecision(12)<<ans<<endl;
signed main()
//ios;
//int T;cin>>T;
//while(T--)
solve();
return 0;
I. Rise of Shadows
追击相遇问题。利用同余定理对公式进行转化,较难理解。
请移至大佬题解
#include<bits/stdc++.h>
#define int long long
#define endl '\\n'
#define For(i,a,b) for(i=(a);i<=(b);++i)
#define ios (ios::sync_with_stdio(false),cin.tie(0),cout.tie(0))
using namespace std;
const int N=7e6+5;
const int inf=1e18;
const int mod=998244353;
int h,m,a;
void solve()
cin>>h>>m>>a;
if(a==h*m/2)
cout<<h*m<<endl;
else
int s=__gcd(h-1,h*m);
cout<<s*(2*(a/s)+1)<<endl;
signed main()
//ios;
//int T;cin>>T;
//while(T--)
solve();
return 0;
F. Kobolds and Catacombs
#include<bits/stdc++.h>
#define int long long
#define endl '\\n'
#define For(i,a,b) for(i=(a);i<=(b);++i)
#define ios (ios::sync_with_stdio(false),cin.tie(0),cout.tie(0))
using namespace std;
const int N=7e6+5;
const int inf=1e18;
const int mod=998244353;
int n,a[N],b[N],c[N],d[N];
void solve()
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i],b[i]=a[i];
sort(b+1,b+n+1);
for(int i=1;i<=n;i++)
int g=lower_bound(b+1,b+n+1,a[i])-b;
c[i]=g+d[g];
d[g]++;
int mx=0,ans=0;
for(int i=1;i<=n;i++)
mx=max(mx,c[i]);
if(mx==i) ans++;
cout<<ans<<endl;
signed main()
ios;
//int T;cin>>T;
//while(T--)
solve();
return 0;
分解质因数
void demcopse(int x)
for(int i=2;i*i<=n;i++)
while(x%i==0) a[i]++,x/=i;
if(x>1) a[x]++;
以上是关于9/21 VP补题+质因子分解的主要内容,如果未能解决你的问题,请参考以下文章