西电ACM2013年2月月赛--XDUOJ
来源:互联网 发布:泰拉瑞亚存档导入软件 编辑:程序博客网 时间:2024/05/16 18:46
A 练习printf语句。。。。
B 并查集应用(占坑)
C 优先队列(占坑)
D 最小生成树变形(占坑)
E 递推,求三角形的个数。
/*
递推公式:a[n] = a[n-1] + n * (n + 1) / 2;*
还有一种情况:最底下一行顶角朝下的三角形*
观察规律得:temp = (n-1) + (n-1)-2 + (n-1)-4... + last
(n为奇数, last为2, 反之为1)*
所以a[n] = a[n] + temp
*/
#include<functional>
#include<algorithm>
#include<iostream>
#include<fstream>
#include<sstream>
#include<iomanip>
#include<numeric>
#include<cstring>
#include<cassert>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<stack>
#include<cmath>
#include<ctime>
#include<list>
#include<set>
#include<map>
using namespace std;
int i,n,num[510];
int main()
{
num[1]=1;
for(i=2;i<510;i++){
num[i]= num[i-1]+i*(i+1)/2; /* 第一种情况 */
n=i-1;
while(n>0){ /* 第二种情况 */
num[i]+=n;
n-=2;
}
}
while(~scanf("%d",&n)){
printf("%d\n",num[n]);
}
return 0;
}
F 三分法求解凸性函数。
#include<functional>
#include<algorithm>
#include<iostream>
#include<fstream>
#include<sstream>
#include<iomanip>
#include<numeric>
#include<cstring>
#include<cassert>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<stack>
#include<cmath>
#include<ctime>
#include<list>
#include<set>
#include<map>
using namespace std;
const double PI=acos(-1.0);
const double eps=1e-6;
double cal(double x,double s)
{
double R=(s-x*x*PI)/PI/x;
double H=sqrt(R*R-x*x);
return x*x*PI*H/3.0;
}
int main(){
double S;
while(~scanf("%lf",&S)){
double lp=0.0,rp=sqrt(S/PI);
double r=0.0;
while(lp+eps<rp){
double mid1=lp+(rp-lp)/3.0;
double mid2=rp-(rp-lp)/3.0;
double val1=cal(mid1,S);
double val2=cal(mid2,S);
if(val1>=val2){
rp=mid2;
}
else{
r=mid1;
lp=mid1;
}
}
double R=(S-PI*r*r)/(PI*r);
double H=sqrt(R*R-r*r);
double V=PI*r*r*H/3.0;
printf("%.2lf\n",V);
}
return 0;
}
G 筛法求素数优化问题。
H ANS=第K天分手K人。。。其余天为0。。。
#include<functional>
#include<algorithm>
#include<iostream>
#include<fstream>
#include<sstream>
#include<iomanip>
#include<numeric>
#include<cstring>
#include<cassert>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<stack>
#include<cmath>
#include<ctime>
#include<list>
#include<set>
#include<map>
using namespace std;
int main()
{
int T,n,k;
scanf("%d",&T);
while(T--){
scanf("%d%d",&k,&n);
for(int i=1;i<=n;++i)
if(i==k) printf("DAY %d: %d\n",i,k);
else printf("DAY %d: %d\n",i,0);
}
return 0;
}
总结:比赛难度中等跟省赛难度差不多,不过自己写题的手速依然很慢,还是得每天加强写代码。
- 西电ACM2013年2月月赛--XDUOJ
- 杭电acm2013蟠桃记
- 杭电ACM2013:蟠桃记
- ACM2013南京赛总结
- acm2013
- NEU 2016年2月月赛总结
- usaco 2017 2月月赛
- ACM练级日志:ACM2013 南京网络赛
- FZU2011年3月月赛小结
- nyist14年3月月赛题解
- FOJ-2011年11月月赛
- bzoj4885: [Lydsy2017年5月月赛]长方体
- BZOJ4885: [Lydsy2017年5月月赛]长方体
- [Lydsy2017年4月月赛]抵制克苏恩
- [Lydsy2017年4月月赛]抵制克苏恩
- bzoj5049 [Lydsy2017年5月月赛]导航系统
- CSU5月月赛
- 备战12月月赛
- 我的初梦《梦幻重游》开发记录三
- rt-thread的IPC机制之互斥锁源码分析
- 删除文件夹里所有的.svn文件
- Ubuntu 12.04安装虚拟工具VMware Tools
- linux/unix shell的find用法小练
- 西电ACM2013年2月月赛--XDUOJ
- hdu 2060 snooker
- JQuery 插件 参考网站
- FreeBSD 9.1内核文件编译分析
- epoll和select区别
- 分布式持久化消息队列memcacheq的安装部署
- select,epoll,poll比较
- JNI如何调用Java函数
- ZigBee技术介绍