九度oj 王道论坛研究生机试练习赛第三场
来源:互联网 发布:淘宝sma是雪梨的店吗 编辑:程序博客网 时间:2024/04/28 11:09
昨晚做了九度oj上的练习赛。。
让我感觉这些题目对于acm来说真是心不难。。
好了,闲话少说,就给出最后两道的题解。
首先是要靠你一步一步推出公式
假设半径为R,比例为f
S为圆的面积
q为切线交点和圆心的连线的角度的一半
然后可知切割后的一部分面积为x = (f*S)/(f+1)
然后R^2*q - R^2*sin(2*q)/2 = x
对于这条方程最主要就是求出q的值,但是~~我不会
所以我就用最简单的方法求:二分求值
然后ans = 2.0*R*sin(mid)
#include<cstdio>#include<cstring>#include<algorithm>#include<queue>#include<vector>#include<math.h>using namespace std;#define pi 3.1415926int main(){ int n,i,j; int sum; double R,f;while(~scanf("%lf%lf",&R,&f)){double S = R*R*pi;if(f>1.0)f = 1.0/f;double var = (f*S)/(f+1.0)/(R*R) ;double l = 0,r = pi/2.0,mid;while(1){mid = (l+r)/2.0;if(mid-sin(2.0*mid)*0.5>var)r = mid;elsel = mid;if(r-l<0.00000001)break;}printf("%0.2f\n",2.0*R*sin(mid));} return 0;}
————————————————————————————————————————————————————————————
————————————————————————————————————————————————————————————
不过哥状态方程我也想了很久,丢脸!~~~
dp[i][j]表示第i个放男和女的个数(j为0是男,j为1是女)
然后很容易dp[i][0] = dp[i-1][0]+dp[i-1][1];
关键就是dp[i][1]这么表示
其实dp[i][1] = sum(dp[k][0])(k = 0~i-2)
其实意思就是最后一个放女的那倒数第二个就一定也是女的但是男的最后一个放在那里呢
就是枚举最后一个男的位置
把所有的情况都考虑了一遍
这个操作可以用单调队列来实现
最后时间复杂度就变成里O(n)
#include<cstdio>#include<cstring>#include<algorithm>#include<queue>#include<vector>#include<math.h> using namespace std;#define MOD 1000000007int dp[1005][3];void Init(){ int i,j; memset(dp,0,sizeof(dp)); dp[1][0] = 1; dp[1][1] = 0; dp[0][0] = 1; //dp[2][] int sum = 0; for(i=2;i<1003;i++) { dp[i][0] = (dp[i-1][0]+dp[i-1][1])%MOD; sum = (sum+dp[i-2][0])%MOD; dp[i][1]=(dp[i][1]+sum)%MOD; } }int main(){ int n,i,j; Init(); while(~scanf("%d",&n)) { printf("%d\n",(dp[n][0]+dp[n][1])%MOD); } return 0; }
5 1
- 九度oj 王道论坛研究生机试练习赛第三场
- 【九度】2014年王道论坛研究生机试练习赛第三场解题报告
- 【九度】2014年王道论坛研究生机试练习赛第二场解题报告
- 九度oj 2014年王道论坛研究生机试练习赛(二) 第四题
- 王道论坛研究生机试练习赛(二)
- 2014年王道论坛研究生机试练习赛(一)
- 2014年王道论坛研究生机试练习赛(二)
- 2014年王道论坛研究生机试练习赛(二) 题目1470:调整方阵
- 2014年王道论坛研究生机试练习赛(二):题目1493:公约数
- 2013年王道论坛研究生机试练习赛(一)东邪他爹解答
- 九度OJ 1019 简单计算器 -- 2006年浙江大学计算机及软件工程研究生机试真题
- 九度OJ 1107 搬水果 -- 哈夫曼树 2011年吉林大学计算机研究生机试真题
- 【王道九度OJ】1202排序
- 【王道九度OJ】1061成绩排序
- 【王道九度OJ】1061日期差值
- Is It A Tree?,判断是否是一棵树。(题目来源:九度OJ 1481,2012年北京大学计算机研究生机试真题)
- 清华大学2011年研究生机试-九度OJ1088-剩下的树
- 【九度oj】1070题(修改自王道机试指南)
- C#之 CS开发常用功能
- 1111:最高分是多少
- java 覆盖与重载
- Java Web项目连接SqlServer时遇到无法连接的小问题
- Struts2学习(一)
- 九度oj 王道论坛研究生机试练习赛第三场
- OpenCV遍历文件夹中所有图像
- 算法概论xmind
- 读取SDcard Database并在Android ListView显示的处理流程
- 第一篇blog
- ubuntu永久修改主机名
- ArcGIS制图及学习资料
- ora-00257报错解决办法
- socket select函数的详细讲解