17南宁网络赛

G. Finding the Radius for an Inserted Circle

题目:链接

让求第k个内切圆的半径 r[k]

这题我们没做出来,主要是因为我发现的太晚了......

一开始看到的时候觉得图看起来太复杂就没去看....

最后还剩二十分钟的时候开始做,本来应该也是可以过的,结果读错输入格式了,然后就悲剧了......  差点完成绝杀啊!!!

根据勾股定理很容易推出公式 r[k] = (√3 * R  - R - 2 * c[i-1] ) / ( 2 * √3 * R - 4 * c[i-1] )

其中 c[i] 是 r[i] 的前缀和.

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 double r[23];
 4 double c[23];
 5 int main(){
 6     int t;
 7     //freopen("in.txt","r",stdin);
 8     scanf("%d",&t);
 9     for(int i =0; i<=11;i++){
10          r[i]=c[i]=0;
11     }
12     double R;
13     int k;
14     scanf("%lf", &R);
15     for(int i = 1; i <= 10; i++){
16         double temp = (sqrt(3)-1)*R - 2*c[i-1];
17         r[i]=temp/(2*sqrt(3)*R-4*c[i-1])*temp;
18         c[i]=c[i-1]+r[i];
19     }
20     while(t--) {
21         scanf("%d", &k);
22         int a=r[k];
23         printf("%d %d\n",k, a);
24     }
25     scanf("%d",&k);
26     return 0;
27 }

时间: 2025-01-12 15:31:15

17南宁网络赛的相关文章

17西安网络赛

C. Sum 一开始以为是数论(最近碰到过相似的),看大家都那么快过有点懵逼...然后队友搞过了~ 1 #include <bits/stdc++.h> 2 using namespace std; 3 const int maxn=1010; 4 int a[maxn]; 5 6 int main(){ 7 int t; 8 scanf("%d",&t); 9 while(t--){ 10 int x; 11 scanf("%d",&x

2017 icpc 南宁网络赛

2000年台湾大专题...英语阅读输入输出专场..我只能说很强势.. M. Frequent Subsets Problem The frequent subset problem is defined as follows. Suppose UU={1, 2,\ldots-,N} is the universe, and S_{1}S?1??, S_{2}S?2??,\ldots-,S_{M}S?M?? are MM sets over UU. Given a positive constan

GSM Base Station Identification 2017南宁网络赛

emmm...... 我上小学开始就不打小报告了 emmm...... 话太多就变菜了 1 #include<bits/stdc++.h> 2 #define cl(a,b) memset(a,b,sizeof(a)) 3 #define debug(a) cerr<<#a<<"=="<<a<<endl 4 using namespace std; 5 typedef long long ll; 6 typedef pair&

2017南宁网络赛 Problem J Minimum Distance in a Star Graph ( 模拟 )

题意 : 乱七八糟说了一大堆,实际上就是问你从一个序列到另个序列最少经过多少步的变化,每一次变化只能取序列的任意一个元素去和首元素互换 分析 : 由于只能和第一个元素去互换这种操作,所以没啥最优的特别方法,只要乖乖模拟即可,如果第一个元素不在正确位置则将它和正确位置的元素交换使其回到正确位置,如果第一个元素的位置就是正确的,那么就往后找不在正确位置的元素将它互换到第一个去,然后再对第一个元素进行判断即可,直到序列变成最终满足条件的序列........ #include<bits/stdc++.h

树形DP CCPC网络赛 HDU5834 Magic boy Bi Luo with his excited tree

1 // 树形DP CCPC网络赛 HDU5834 Magic boy Bi Luo with his excited tree 2 // 题意:n个点的树,每个节点有权值为正,只能用一次,每条边有负权,可以走多次,问从每个点出发的最大获益 3 // 思路: 4 // dp[i]: 从i点出发回到i点的最大值 5 // d[i][0] 从i点出发不回来的最大值 6 // d[i][1] 从i点出发取最大值的下一个点 7 // d[i][2] 从i点出发取次大值 8 // dfs1处理出这四个 9

2015北京网络赛A题The Cats&#39; Feeding Spots

题意:给你一百个点,找个以这些点为中心的最小的圆,使得这个圆恰好包含了n个点,而且这个圆的边界上并没有点 解题思路:暴力枚举每个点,求出每个点到其他点的距离,取第n大的点,判断一下. 1 #include<cstdio> 2 #include<cmath> 3 #include<algorithm> 4 #include<iostream> 5 #include<memory.h> 6 using namespace std; 7 const i

2015北京网络赛 Couple Trees 倍增算法

2015北京网络赛 Couple Trees 题意:两棵树,求不同树上两个节点的最近公共祖先 思路:比赛时看过的队伍不是很多,没有仔细想.今天补题才发现有个 倍增算法,自己竟然不知道.  解法来自 qscqesze ,这个其实之前如果了解过倍增的话还是不是很难,不过这题的数据也不是很给力,极限数据理论上是过不了的.  其他解法有树链剖分?并不是很清楚.就这样水过了吧... 1 #include <iostream> 2 #include <cstdio> 3 #include &l

个人心情:又是一年网络赛

前天在群里看到,网络赛快开始了,第一次觉得假期好曼城,是不是因为在工作的原因啊,有种度日如年的感觉哈哈.话说真相拿出时间来好好学习一下. 上一张ACM网络赛时间表 赛区(官方网站) 邀请赛 网络赛 现场赛 备注 牡丹江赛区牡丹江师范学院   9.7 12:00~17:00 在HDOJ举行浙江大学命题 10.11~12浙江大学命题   鞍山赛区辽宁科技大学   9.13 12:00~17:00 在HDOJ举行清华大学命题 10.18~19清华大学命题   西安赛区西北工业大学 陕西邀请赛 报名截止

大连网络赛 1006 Football Games

1 //大连网络赛 1006 2 // 吐槽:数据比较水.下面代码可以AC 3 // 但是正解好像是:排序后,前i项的和大于等于i*(i-1) 4 5 #include <bits/stdc++.h> 6 using namespace std; 7 #define LL long long 8 typedef pair<int,int> pii; 9 const double inf = 123456789012345.0; 10 const LL MOD =100000000L