7.8noip测试
来源:互联网 发布:hmmlearn python 教程 编辑:程序博客网 时间:2024/05/16 16:13
第一题:能量
题意:n个蓄电池电量不同,传输有耗费(k%),若使所有电池电量等,求电量相等时最大值为多少。
题解:二分检验。
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<string>#include<ctime>#include<cmath>#include<algorithm>#include<cctype>#include<iomanip>#define eps 1e-7using namespace std;inline int read(){int i=0,f=1;char ch;for(ch=getchar();!isdigit(ch);ch=getchar())if(ch=='-') f=-1;for(;isdigit(ch);ch=getchar())i=(i<<3)+(i<<1)+(ch^48);return i*f;}double a[10101],ratio,sum;int n,k;bool check(double x){if(x*n>sum) return false;int i;double p1,p2;p1=0,p2=0;for(i=n;i>=1;--i){if(a[i]<x) break;p1+=a[i]-x;}for(;i>=1;--i)p2+=x-a[i];if(p1*ratio>p2) return true;else return false;}signed main(){sum=0;n=read();k=read();ratio=(100.0-k)/100;for(int i=1;i<=n;++i)a[i]=read(),sum+=a[i];sort(a+1,a+n+1);double l=a[1],r=a[n],mid;while((r-l)>eps){mid=(l+r)/2;if(check(mid))l=mid;else r=mid;}printf("%.6lf",r);return 0;}第二题:电影院
题意:尬,忘了;
题解:看到题一眼就担心数组系列。
上帝说:“要有map!”然后这道题应声倒地……
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<string>#include<ctime>#include<cmath>#include<algorithm>#include<cctype>#include<iomanip>#include<queue>#include<map>#define int long longusing namespace std;inline int read(){int i=0,f=1;char ch;for(ch=getchar();!isdigit(ch);ch=getchar())if(ch=='-') f=-1;for(;isdigit(ch);ch=getchar())i=(i<<3)+(i<<1)+(ch^48);return i*f;}map<double,int>f;map<double,int>g;double slope[101101],abslope[101101];int maxa,maxb,w,ans,revi,ccp,h,j;int rev(int num){int tmp1=num,tmp2=0;while(tmp1){tmp2=tmp2*10+tmp1%10;tmp1/=10;}return tmp2;}inline int gcd(int a,int b){if(b) return gcd(b,a%b);return a;}signed main(){maxa=read();maxb=read();w=read();if(maxa>maxb)swap(maxa,maxb);ans=maxa*maxb+1;for(int i=1;i<=maxb;++i){revi=rev(i);ccp=gcd(revi,i);slope[i]=(double)(i/ccp)/(revi/ccp);abslope[i]=(double)(revi/ccp)/(i/ccp);}for(int i=1;i<=maxa;++i)++f[slope[i]];for(j=0;j<maxb&&h<w;){++j;++g[slope[j]];h+=f[abslope[j]];}if(h<w){cout<<"-1";return 0;}for(int i=maxa;i;--i){--f[slope[i]];h-=g[abslope[i]];for(;j<maxb&&h<w;){++j;h+=f[abslope[j]];++g[slope[j]];}if(h<w) break;ans=min((i-1)*j,ans);}cout<<ans;return 0;}第三题:流
题意:求有向图有上下界可行流,n<=5
题解:你照着dfs5遍不就可以了?Naive!
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<string>#include<ctime>#include<cmath>#include<algorithm>#include<cctype>#include<iomanip>using namespace std;inline int read(){int i=0,f=1;char ch;for(ch=getchar();!isdigit(ch);ch=getchar())if(ch=='-') f=-1;for(;isdigit(ch);ch=getchar())i=(i<<3)+(i<<1)+(ch^48);return i*f;}struct path_to_glory{int l,h,a;}edge[20][20];int n,curflow,flow,ans,profit,inner[10],s,f;void dfs1(int pos,int nxt,int inpo);void goahead(int pos){if(n==pos){if(curflow==flow) ans=max(ans,profit);if(curflow<flow){flow=curflow;ans=profit;}return ;}dfs1(pos,pos+1,inner[pos]);return ;}void dfs(int pos,int nxt){if(curflow>flow) return ;if(nxt==n+1){goahead(pos+1);return ;}for(int i=edge[pos][nxt].l;i<=edge[pos][nxt].h;++i){inner[nxt]+=i;curflow+=i;if(i)profit+=edge[pos][nxt].a+i*i;dfs(pos,nxt+1);inner[nxt]-=i;curflow-=i;if(i)profit-=edge[pos][nxt].a+i*i;}}void dfs1(int pos,int nxt,int inpo){if(nxt==n+1&&inpo==0){goahead(pos+1);return ;}if(nxt==n+1||inpo<0) return ;for(int i=edge[pos][nxt].l;i<=edge[pos][nxt].h;++i){inner[nxt]+=i;if(i)profit+=edge[pos][nxt].a+i*i;dfs1(pos,nxt+1,inpo-i);inner[nxt]-=i;if(i)profit-=edge[pos][nxt].a+i*i;}}signed main(){flow=999999999;n=read();if(n==1){cout<<"0 0";return 0;}for(int i=1;i<=n*(n-1)/2;++i){s=read();f=read();edge[s][f].l=read();edge[s][f].h=read();edge[s][f].a=read();}dfs(1,2);if(flow==999999999) flow=ans=-1;cout<<flow<<" "<<ans;return 0;}
阅读全文
0 0
- 7.8noip测试
- 7.30noip测试
- 7.10noip测试
- NOIP 2009 模拟测试总结
- NOIP模拟测试1(2017081501)
- NOIP训练测试2(2017081502)
- NOIP训练测试3(2017081601)
- NOIP水题测试(2017082301)
- NOIP水题测试(2017082401)
- NOIP水题测试(2017082501)
- [noip测试]零食店(floyed+二分)
- noip模拟题11.11 光棍节测试
- noip普及组2016测试总结
- 2017.10.14NOIP初赛上机测试
- 10.23~10.24NOIP模拟测试总结
- 11.3~11.4NOIP模拟测试总结
- Noip
- noip
- Android 对ListView和RecyclerView的两个BaseAdapter封装分享
- 翻译:Distributed Representations of Words and Phrases and their Compositionality
- iOS 测试 SwiftMonkey :iOS 上的 monkey
- hdu4597
- iconv命令
- 7.8noip测试
- 实现List和Map数据的转换
- 我的小小学习笔记(5)之C++-----缺省函数
- Java8的HashMap详解(存储结构,功能实现,扩容优化,线程安全,遍历方法)
- C++输入输出格式--保留n位小数
- Shiro 采用注解方式无法进入自定义Realm类的授权方法 解决方案
- nginx 优化
- Macaca Macaca 实现 IOS Monkey 测试 (支持 macaca2.x 版本)
- volatile关键字