20170906

水题

T1

Arpa and a research in Mexican wave CodeForces - 851A

 1 #include<cstdio>
 2 int n,k,t;
 3 int main()
 4 {
 5     scanf("%d%d%d",&n,&k,&t);
 6     if(t>=k&&t<=n)
 7         printf("%d",k);
 8     else if(t<k)
 9         printf("%d",t);
10     else printf("%d",n+k-t);
11     return 0;
12 }

T2

Arpa and an exam about geometry CodeForces - 851B

翻译:存在一个点O,使得∠AOB=∠BOC且AO=BO=CO
推理:首先做ABC的外接圆O,如果要使∠AOB=∠BOC,那么△AOB≌△BOC,那么AB=BC

曾经犯过的严重错误:忽略了精度问题。事实上将近一亿的范围long double都不够,更何况这种题的数据应该有卡精度的。

解决方法:简单的等式变换,去掉实数运算。

曾经犯过的错误2:审题不清

 1 #include<cstdio>
 2 #include<cmath>
 3 using namespace std;
 4 //long double a1,a2,b1,b2,c1,c2,d1,d3;直接用double精度不够
 5 //因为是求sqrt是否相等,实际可以不sqrt
 6 long long d1,d3,a1,a2,b1,b2,c1,c2;
 7 //double d2,d4;//(b1-a1)/(b2-a2)==(c1-b1)/(c2-b2)
 8 int main()
 9 {
10     scanf("%lld%lld%lld%lld%lld%lld",&a1,&a2,&b1,&b2,&c1,&c2);
11     //d2=(b1-a1)/(b2-a2);
12     //d4=(c1-b1)/(c2-b2);
13     if((b1-a1)*(c2-b2)==(b2-a2)*(c1-b1))
14     {
15         printf("NO");
16         return 0;
17     }
18     d1=(b1-a1)*(b1-a1)+(b2-a2)*(b2-a2);
19     //d2=sqrt((c1-a1)*(c1-a1)+(c2-a2)*(c2-a2));
20     d3=(c1-b1)*(c1-b1)+(c2-b2)*(c2-b2);
21     if(d1==d3)//曾经错在:文中指定了是a转到b,b转到c,不是任意转
22         printf("YES");
23     else
24         printf("NO");
25     return 0;
26 }

T3

Five Dimensional Points CodeForces - 851C

主要难度在于理解题意。

给定n个五维空间中点的坐标(都为(i1,i2,i3,i4,i5)),由两点a和b定义的向量的坐标就是(b1-a1,b2-a2,b3-a3,b4-a4,b5-a5)。向量 的夹角定义为 ,(xi表示向量x的第i个坐标,yi表示向量y的第i个坐标),。对于点a,如果存在点b和点c,使得点a、b、c互不相同,且的夹角严格小于90°(用弧度制就是严格小于π/2),那么这个点就是坏的,否则这个点就是好的。计算n个点中好点的数目和序号。

方法:O(n³)暴力

 1 #include<cstdio>
 2 #include<cmath>
 3 #include<cstring>
 4 using namespace std;
 5 int a[1010][6];
 6 int xl[1010][1010][6];
 7 double len[1010][1010];
 8 const double pi2=acos(-1)/2;
 9 double t2[1010][1010];
10 bool bad[1010];
11 int n,ans;
12 int main()
13 {
14     int i,j,k,j1,t;
15     double t2;
16     scanf("%d",&n);
17     for(i=1;i<=n;i++)
18         for(j=1;j<=5;j++)
19             scanf("%d",&a[i][j]);
20     for(i=1;i<=n;i++)
21         for(j=1;j<=n;j++)
22         {
23             if(i==j)    continue;
24             for(j1=1;j1<=5;j1++)
25                 xl[i][j][j1]=a[i][j1]-a[j][j1];
26             for(j1=1;j1<=5;j1++)
27                 len[i][j]+=xl[i][j][j1]*xl[i][j][j1];
28             len[i][j]=sqrt(len[i][j]);
29         }
30 //    for(i=1;i<=n;i++)
31 //        for(j=i+1;j<=n;j++)
32 //        {
33 //            len[j][i]=len[i][j];
34 //            for(j1=1;j1<=5;j1++)
35 //                xl[j][i][j1]=-xl[i][j][j1];
36 //        }
37     for(i=1;i<=n;i++)
38     {
39         for(j=1;j<=n;j++)
40         {
41             if(i==j)    continue;
42             for(k=j+1;k<=n;k++)
43             {
44                 if(i==k)    continue;
45                 t=0;
46                 for(j1=1;j1<=5;j1++)
47                     t+=xl[i][j][j1]*xl[i][k][j1];
48                 t2=acos((double)t/(len[i][j]*len[i][k]));
49                 if(t2<pi2)
50                 {
51                     bad[i]=true;
52                     goto aaa2;
53                 }
54             }
55         }
56         aaa2:
57             ;
58     }
59     for(i=1;i<=n;i++)
60         if(bad[i]==false)
61             ans++;
62     printf("%d\n",ans);
63     for(i=1;i<=n;i++)
64         if(bad[i]==false)
65             printf("%d\n",i);
66     return 0;
67 }

T4

Polycarpus‘ Dice CodeForces - 534C

题意:给出一个n和A,再给出一个n个数的数列d1,d2,...,dn。有一个数列b1,b2,...,bn,i为任意1到n之间的整数时,都满足1<=b[i]<=d[i],且b1+b2+...+bn=A。输出n个数,第i个数表示bi可能取的值的数目(每个数分开考虑)。

方法:首先每个数最小取1,那么先将每个di减一,将A减去n(其实没必要,只是方便思考、计算)。对于bi,当其他数全部取0时可以取到最大(di);当其它数全部取最大值时可以取到最小(刚好使总和能够达到a)。当然,最大值不应该大于(新的)a,最小值不应该小于0。

 1 #include<cstdio>
 2 typedef long long LL;
 3 LL b[200010];
 4 LL l,r,bad,sum,n,a;
 5 int main()
 6 {
 7     int i;
 8     scanf("%lld%lld",&n,&a);
 9     a-=n;
10     for(i=1;i<=n;i++)
11     {
12         scanf("%lld",&b[i]);
13         b[i]--;
14         sum+=b[i];
15     }
16     for(i=1;i<=n;i++)
17     {
18         l=0;r=b[i];
19         if(a<b[i])
20             r=a;
21         if(sum-b[i]<a)
22             l=a-sum+b[i];
23         bad=b[i]-(r-l);
24         printf("%lld ",bad>0?bad:0);
25     }
26     return 0;
27 }

T5

Little Elephant and LCM CodeForces - 258C

时间: 2024-10-22 17:30:44

20170906的相关文章

iOS笔记【UIAlertCotroller】 2017-09-06

1.种类 中部提示框-alert 底部提示框-actionSheet 2.菜单项参数 title:标题        取消 style:样式        .cencel handle:nil        误操作 把菜单项添加到UIAlertController:使用addAction方法 显示菜单:使用self.present // MARK: - Table view delegate // 单元格点击 override func tableView(_ tableView: UITabl

20170906模拟赛

啊,ditoly大牛的题真良心,我这种蒟蒻都rank4了23333 不过其实是可以再多拿10分的,巨神有几组特殊数据忘出了,场面一度十分尴尬. 不管怎样,加油吧! T1: 切糕(cut) [问题描述] 小R意外获得了一块切糕,他准备把切糕分给n个小伙伴.切糕的形状是一个底边长为a,高为b的等腰三角形.小R打算横着或竖着切n-1刀把切糕切成面积相等的n块分给小伙伴,请你告诉他要在哪些地方切. [输入格式] 输入文件cut.in 输入包含四个整数n,a,b,c,表示要切成n块,切糕的三个顶点分别位于

20170906 - XML基础 - A

1 xml一般用于?网站数据配置信息存储于单独文件中,便于修改. 2 html文本如何转义?&....;如&" 3 如何免转义符号,如在网页中显示一大段的html代码?<![CDATA[下面是xml代码:<a>fdsafdsa</a>]]> 4 XML何时可以定义成标签,何时定义成属性?是否可以随意定义标签名?一般情况下,标签信息用属性定义,如上级标签无信息可用标签定义. <list> <emp> <id>&

20170906 - XML基础 - Q

1 xml一般用于? 2 html文本如何转义? 3 如何免转义符号,如在网页中显示一大段的html代码? 4 XML何时可以定义成标签,何时定义成属性?是否可以随意定义标签名? 5 XML格式为? 6 XML有什么解析方式?优缺点是什么? 7 如何在maven项目导入jar包? 8 提醒空指针错误有可能是? 9 写了新功能后却没有显现应有效果,有可能是什么原因? 10 br.readLine();后却没有输出可能是什么原因? 11 如何解析XML文档? 12 如何获取XML文档根元素(文档树)

校内集训(20170906)

emmmm又是200.. 我大概是永远不会AK?T3我都想到算法了..(掀桌~) 切入正题吧. ------------------我是分割线------------------ T1:切糕(cut) [问题描述] 小R意外获得了一块切糕,他准备把切糕分给n个小伙伴.切糕的形状是一个底边长为a,高为b的等腰三角形.小R打算横着或竖着切n-1刀把切糕切成面积相等的n块分给小伙伴,请你告诉他要在哪些地方切. [输入格式] 输入文件cut.in 输入包含四个整数n,a,b,c,表示要切成n块,切糕的三

了解一些多线程相关的知识

一.基础知识a)多线程的基础类为Thread,实际应用中一般用线程池,而不会直接用到Thread类.Thread基本的使用为: int i = 5;Thread thread = new Thread((p) => {  Console.WriteLine(p);});thread.Start(i); 可以用lambda写法,也可以指向一个方法,参数通过Start(i)来传递.b) 线程间的同步有几种方法可以在一个方法加上[MethodImpl(MethodImplOptions.Synchro

Caused by: java.io.IOException: Added a key not lexically larger than previous.

为了重复这个实验,遇到不少坑 https://www.iteblog.com/archives/1889.html /** * Created by Administrator on 2017/8/18. */ public class IteblogBulkLoadDriver { public static class IteblogBulkLoadMapper extends Mapper<LongWritable, Text, StringWriter, Put> { protecte

R语言实战 - 基本数据管理(2)

5. 缺失值 > y <- c(1,2,3,NA) > is.na(y) [1] FALSE FALSE FALSE TRUE > leadership manager testDate country gender age item1 item2 item3 item4 item5 1 1 10/24/08 US M 32 5 4 5 5 5 2 2 10/28/08 US F 45 3 5 2 5 5 3 3 10/1/08 UK F 25 3 5 5 5 2 4 4 10/1

Python mysql-表中数据的大量插入

2017-09-06 23:28:26 import pymysql db = pymysql.connect("localhost","root","hy1102","TESTDB",charset='utf8') cursor = db.cursor() list=[] with open("E:\\ee.txt","r") as f: for line in f: ls = lin