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补题+质因子分解的主要内容,如果未能解决你的问题,请参考以下文章

数学问题——质因子分解

uva10780 质因子分解

质因子分解——Prime Factors

P2043 质因子分解

质因子分解

分解质因子(个人模版)