bestcoder #66
生活随笔
收集整理的這篇文章主要介紹了
bestcoder #66
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1002:
這題拿兩個優先隊列維護一下就可以了,近期都在做這種題,然而這題居然還是不會,why am i so stupid...
#include<bits/stdc++.h> #define REP(i,a,b) for(int i=a;i<=b;i++) #define MS0(a) memset(a,0,sizeof(a)) #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1using namespace std;typedef long long ll; const int maxn=1000100; const int INF=1<<29;int n,m; ll a[maxn],b[maxn],c[maxn]; ll t[maxn];int main() {freopen("in.txt","r",stdin);int T;cin>>T;while(T--){scanf("%d%d",&n,&m);REP(i,1,n) scanf("%I64d%I64d",&a[i],&b[i]);REP(i,1,m) scanf("%I64d",&c[i]);sort(c+1,c+m+1);MS0(t);REP(i,1,m) t[c[i]]++;priority_queue<ll,vector<ll>,greater<ll> > q[2];ll add=0;REP(i,1,n){b[i]-=add;while(!q[!a[i]].empty()&&q[!a[i]].top()<b[i]) q[!a[i]].pop();q[a[i]].push(b[i]);add+=t[i];}cout<<q[0].size()+q[1].size()<<endl;}return 0; } View Code1003:
這題和上學期校賽的第五題如出一轍,就是打表找規律,上學期我也是靠著第五題混了個校賽第七,然而這次居然沒出。。why am i so stupid...
注意打表不是手動計算!!!直接用代碼循環打表!
#include<bits/stdc++.h> #define MS0(a) memset(a,0,sizeof(a)) #define REP(i,a,b) for(int i=a;i<=b;i++)using namespace std;typedef long long ll; const int maxn=1000100; const int INF=1<<29;ll n,x;ll phi(ll n) {ll m=(ll)sqrt(n+0.5);ll res=n;REP(i,2,m){if(n%i==0){res=res/i*(i-1);while(n%i==0) n/=i;}}if(n>1) res=res/n*(n-1);return res; }int main() {freopen("in.txt","r",stdin);while(~scanf("%I64d%I64d",&n,&x)){printf("%I64d\n",phi(n+x+1));}return 0; } View Code?
轉載于:https://www.cnblogs.com/--560/p/5041973.html
總結
以上是生活随笔為你收集整理的bestcoder #66的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql颠覆实战笔记(五)--商品系统
- 下一篇: HTML基础(2)——边框