BZOJ1800 [Ahoi2009]fly 飞行棋】的更多相关文章

http://www.lydsy.com/JudgeOnline/problem.php?id=1800 圆上两条直径构成矩形的对角线 #include<cstdio> using namespace std; ]; int main() { int n; scanf("%d",&n); ; ;i<=n;++i) scanf("%d",&sum[i]),tot+=sum[i]; ;i<=n;++i) sum[i]+=sum[i…
1800: [Ahoi2009]fly 飞行棋 题目:传送门 题解: 大水题,早上签个到 没什么好说的...搞个前缀和,算个周长... 周长为奇数肯定误解啊废话QWQ 那么看到n<=20,还不暴力枚举!!! 然后看一下对角点之间的弧长是不是半周长就好啦(判定定理啊) 然后...一A 代码: #include<cstdio> #include<cstring> #include<cstdlib> #include<cmath> #include<a…
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1800 题意概括 给出圆周上的若干个点,已知点与点之间的弧长,其值均为正整数,并依圆周顺序排列. 请找出这些点中有没有可以围成矩形的,并希望在最短时间内找出所有不重复矩形. 题解 点数<=20. 我们发现, 圆周上有矩形的充要条件是它的两条对角线一定是它的直径. 如果不是,那就不会有直角了. 所以搜素在同一直径上的点对数然后C函数即可. 代码 #include <cstring> #inc…
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/转载请注明出处,侵权必究,保留最终解释权! Description 给出圆周上的若干个点,已知点与点之间的弧长,其值均为正整数,并依圆周顺序排列. 请找出这些点中有没有可以围成矩形的,并希望在最短时间内找出所有不重复矩形. Input 第一行为正整数N,表示点的个数,接下来N行分别为这N个点所分割的…
找了道bzoj的水题,千年难得一遇. 建议初学者做做,然而我个蒟蒻初学时应该A不了..... < http://www.lydsy.com/JudgeOnline/problem.php?id=1800 > 地址啦啦啦就来了. 进入正题,先看题目 Description 给出圆周上的若干个点,已知点与点之间的弧长,其值均为正整数,并依圆周顺序排列. 请找出这些点中有没有可以围成矩形的,并希望在最短时间内找出所有不重复矩形. Input 第一行为正整数N,表示点的个数,接下来N行分别为这N个点所…
暴力枚举. #include<cstdio> #include<algorithm> using namespace std; ],sum[],half,ans; int query(const int &A,const int &B) { ]-sum[y-]; if(res>half) return sum[n]-res; else return res; } int main() { scanf("%d",&n); ;i<…
题目 给出圆周上的若干个点,已知点与点之间的弧长,其值均为正整数,并依圆周顺序排列. 请找出这些点中有没有可以围成矩形的,并希望在最短时间内找出所有不重复矩形. 输入格式 第一行为正整数N,表示点的个数,接下来N行分别为这N个点所分割的各个圆弧长度 输出格式 所构成不重复矩形的个数 输入样例 8 1 2 2 3 1 1 3 3 输出样例 3 解释 N<= 20 题解 四个点abcd能构成矩形,当且仅当 弧ab=弧cd 且 弧bc=弧ad 顺序枚举判断一下就好了 #include<iostrea…
1800: [Ahoi2009]fly 飞行棋 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id=1800 Description 给出圆周上的若干个点,已知点与点之间的弧长,其值均为正整数,并依圆周顺序排列. 请找出这些点中有没有可以围成矩形的,并希望在最短时间内找出所有不重复矩形. Input 第一行为正整数N,表示点的个数,接下来N行分别为这N个点所分割的各…
O(N2)算出有x条直径然后答案就是x(x-1)/2...这个数据范围是闹哪样! ------------------------------------------------------------------------------------------ #include<cstdio> #include<cstring> #include<algorithm>   using namespace std;   const int maxn = 29;   in…
1800: [Ahoi2009]fly 飞行棋 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 1689  Solved: 1335[Submit][Status][Discuss] Description 给出圆周上的若干个点,已知点与点之间的弧长,其值均为正整数,并依圆周顺序排列. 请找出这些点中有没有可以围成矩形的,并希望在最短时间内找出所有不重复矩形. Input 第一行为正整数N,表示点的个数,接下来N行分别为这N个点所分割的各个圆弧长度…