@994495jj
2017-05-31T11:47:47.000000Z
字数 3905
阅读 777
(ACM)数学----概率论
#include <algorithm>#include <iostream>#include <cstring>#include <vector>#include <cstdio>#include <string>#include <cmath>#include <queue>#include <set>#include <map>using namespace std;typedef long long ll;typedef unsigned long long ull;typedef pair<int,int> pii;typedef pair<ll,ll> pll;#define mp make_pair#define pb push_back#define fi first#define se second#define lson l,mid,rt<<1#define rson mid+1,r,rt<<1|1#define de(x) cout << #x << "=" << x << endlconst int N=100005;int a[N],b[N],Max[N<<2];void build(int l,int r,int rt) {if(l==r) {Max[rt]=b[l];return ;}int mid=(l+r)>>1;build(lson);build(rson);Max[rt]=max(Max[rt<<1],Max[rt<<1|1]);}void upd(int c,int l,int r,int rt) {if(c>Max[rt]) return ;if(l==r) {b[l]=b[l]%c;Max[rt]=b[l];return ;}int mid=(l+r)>>1;upd(c,lson);upd(c,rson);Max[rt]=max(Max[rt<<1],Max[rt<<1|1]);}int main() {int T;scanf("%d\n",&T);while(T--) {///readint n;scanf("%d",&n);for(int i=1;i<=n;++i) scanf("%d",a+i);int m;scanf("%d",&m);for(int i=1;i<=m;++i) scanf("%d",b+i);///solvebuild(1,m,1);for(int i=1;i<=n;++i) upd(a[i],1,m,1);for(int i=1;i<=m;++i) printf("%d\n",b[i]);}return 0;}
#include<cstdio>#include<vector>#include<cstring>using namespace std;#define mp make_pair#define pb push_back#define fi first#define se secondconst int N=5005;vector<pair<int,int> > G[N];int ans;int col[N];int dfs(int u) {int sz=G[u].size();for(int i=0;i<sz;++i) {int v=G[u][i].fi;int ty=G[u][i].se;if(col[v]!=-1) {if(ty&&col[v]!=col[u]) return ans=-1;if(!ty&&col[v]!=1-col[u]) return ans=-1;} else {if(ty) col[v]=col[u];else col[v]=1-col[u];dfs(v);}}return 1;}int main() {int T;scanf("%d",&T);while(T--) {///int n,m;scanf("%d%d",&n,&m);///initfor(int i=1;i<=n;++i) G[i].clear();memset(col,-1,sizeof(col));ans=0;col[1]=0;///readfor(int i=1;i<=m;++i) {int u,v;char c;scanf("%d%d %c",&u,&v,&c);G[u].pb(mp(v,c=='R'));G[v].pb(mp(u,c=='R'));}///solvedfs(1);if(ans==-1) puts("-1");else {for(int i=1;i<=n;++i) ans=ans+col[i];printf("%d\n",min(ans,n-ans));}}return 0;}
#include<cstdio>#include<algorithm>#include<queue>using namespace std;typedef long long ll;const int N=1005;struct Node {int x,y;bool operator < (const Node &tmp) const {if(x==tmp.x) return y>tmp.y;return x>tmp.x;}}a[N];priority_queue<int> q;int main() {int T;scanf("%d",&T);while(T--) {///int n;scanf("%d",&n);///initint tt=q.size();while(tt--) q.pop();///readfor(int i=1;i<=n;++i) scanf("%d",&a[i].x);for(int i=1;i<=n;++i) scanf("%d",&a[i].y);///sortsort(a+1,a+1+n);///solvefor(int i=2;i<=n;++i) {if(i&1) {if(a[i].y>-q.top()) {q.pop();q.push(-a[i].y);}} else {q.push(-a[i].y);}}ll ans=0;while(!q.empty()) {ans=ans-q.top();q.pop();}printf("%lld\n",ans);}return 0;}
#include <algorithm>#include <iostream>#include <cstring>#include <vector>#include <cstdio>#include <string>#include <cmath>#include <queue>#include <set>#include <map>using namespace std;typedef long long ll;typedef unsigned long long ull;typedef pair<int,int> pii;typedef pair<ll,ll> pll;#define mp make_pair#define pb push_back#define fi first#define se second#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define de(x) cout << #x << "=" << x << endldouble kpow(double a,ll b) {double r=1;while(b) {if(b&1) r=r*a;a=a*a;b>>=1;}return r;}int main() {//freopen("xx.out","w",stdout);int T;scanf("%d",&T);while(T--) {int n,m;scanf("%d%d",&n,&m);double ans=0;for(int i=1;i<=n;++i) {double p=1-(1.0*(i-1)*(i-1)+1.0*(n-i)*(n-i))/n/n;ans=ans+(1+kpow(1-2*p,m))/2;}printf("%.3lf",ans);if(T) puts("");}return 0;}