老司机的奇怪noip模拟T1-guanyu
1. 关羽
(guanyu.cpp/c/pas )
【问题描述】
xpp 每天研究天文学研究哲学,对于人生又有一些我们完全无法理解的思考。
在某天无聊学术之后, xpp 打开了 http://web.sanguosha.com, 准备用他心爱的关羽虐
人。进入了八人身份局,作为一位主公,xpp 果断选了关羽,用关羽挑 7 人。
xpp 为什么喜欢关羽这个武将呢?因为武圣是个很牛逼的技能。
武圣——你可以将你的任意一张红桃或方片牌当杀使用或打出。
可见武圣这个技能如果用得好那么是可以轻松杀死别人的。 于是 xpp 把 7 个人全都轻松
干掉。
虽然 xpp 的武圣永远会横扫千军, 但是他想到了这样一个问题: 他应该先杀死谁后杀死
谁呢?
玩三国杀的人都是坐成一圈的, 每个人到牌堆的距离相等, 也就是说存在一个所有人都
在边界上的圆。作为主公,xpp 想怒杀 4 个反贼。根据他的推理,这一盘的情况应该是这样
的:4 个反贼所在的位置肯定构成一个矩形。现在,xpp 想知道,这一局可能有多少种反贼
的组合。
xpp 智商过于强大,不屑于想此等低端问题,然后你就要把这道题做出来。
【输入】
输入文件名为 guanyu.in。
第一行包含一个整数 n,表示除 xpp 外的游戏人数(不包括 xpp,他是主公)。
第二行包括 n 个整数,表示玩家之间的间隔弧长。
【输出】
输出文件名为 guanyu.out。
输出共 t 行,每行包括一个实数,表示所求的期望值。
【输入输出样例】
guanyu.in guanyu.out
8
1 2 2 3 1 1 3 3
3
【数据范围】
对于 30%的数据,n≤20。
对于 100%的数据,4≤n≤2000。
——————————————题解
我一个魏粉做蜀题真是不爽……这道题写的是奇怪n^2logn,就是枚举一条边,算它邻边,再算它对边,但是数组开小然后gg了,后来改大就过了
实际上答案是一个圆嘛……枚举两个点是否是直径然后等差数列算一算,n^2的
【数组开小毁一生】
【正确题解】
#include <iostream>
#include <string.h>
#include <cstdlib>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <vector>
#include <ctime>
#define ivorysi
#define mo 10007
#define siji(i,x,y) for(int i=(x);i<=(y);i++)
#define gongzi(j,x,y) for(int j=(x);j>=(y);j--)
#define xiaosiji(i,x,y) for(int i=(x);i<(y);i++)
#define sigongzi(j,x,y) for(int j=(x);j>(y);j--)
#define ivory(i,x) for(int i=head[x];i;i=edge[i].next)
#define pii pair<int,int>
#define fi first
#define se second
#define inf 10000000
using namespace std;
typedef long long ll;
int a[],sum[],n,ans,po;
bool binary(int il,int ir,int val) {
int q=il-;
while(il<ir) {
int mid=(il+ir+)>>;
if(sum[mid]-sum[q]<=val) il=mid;
else ir=mid-;
}
if(sum[il]-sum[q]==val) {po=il;return true;}
else return false;
}
int main() {
#ifdef ivorysi
freopen("guanyu.in","r",stdin);
freopen("guanyu.out","w",stdout);
#else
freopen("f1.in","r",stdin);
#endif
scanf("%d",&n);
siji(i,,n) {
scanf("%d",&a[i]);
sum[i]=sum[i-]+a[i];
}
siji(i,,n) {
a[n+i]=a[i];
sum[n+i]=sum[n+i-]+a[n+i];
}
siji(i,,n) {
xiaosiji(j,,n) {
int tmp=sum[j+i]-sum[i-];
if(tmp*>=sum[n]) continue;
int tmp2=(sum[n]-tmp*)/;
if(!binary(i+j+,i+n-,tmp2)) continue;
if(!binary(po+,i+n-,tmp)) continue;
++ans; }
}
printf("%d\n",ans/);
}
老司机的奇怪noip模拟T1-guanyu的更多相关文章
- 老司机的奇怪noip模拟T2-huangyueying
2. 黄月英(huangyueying.cpp/c/pas )[问题描述]xpp 每天研究天文学研究哲学,对于人生又有一些我们完全无法理解的思考.在某天无聊学术之后, xpp 打开了 http://w ...
- 老司机的奇怪noip模拟T3-zhugeliang
3. 诸葛亮(zhugeliang.cpp/c/pas )[问题描述]xpp 每天研究天文学研究哲学,对于人生又有一些我们完全无法理解的思考.在某天无聊学术之后, xpp 打开了 http://web ...
- NOIP 模拟 $18\; \rm 老司机的狂欢$
题解 \(by\;zj\varphi\) 一道很有趣的题,我用的动态开点线段树和倍增 首先对于第一问,不难想到要二分,二分时间,因为时间长一定不会比时间短能跑的人多 那么如何 check,先将所有老司 ...
- [CSP-S模拟测试]:老司机的狂欢(LIS+LCA)
题目背景 光阴荏苒.不过,两个人还在,两支车队还在,熟悉的道路.熟悉的风景,也都还在.只是,这一次,没有了你死我活的博弈,似乎和谐了许多.然而在机房是不允许游戏的,所以班长$XZY$对游戏界面进行了降 ...
- NOIP模拟赛-2018.11.7
NOIP模拟赛 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 编译之前另存一份,听说如果敲 ...
- NOIP模拟赛-2018.11.6
NOIP模拟赛 今天想着反正高一高二都要考试,那么干脆跟着高二考吧,因为高二的比赛更有技术含量(我自己带的键盘放在这里). 今天考了一套英文题?发现阅读理解还是有一些困难的. T1:有$n$个点,$m ...
- 2014-10-31 NOIP模拟赛
10.30 NOIp 模拟赛 时间 空间 测试点 评测方式 挖掘机(dig.*) 1s 256M 10 传统 黑红树(brtree.*) 2s 256M 10 传统 藏宝图(treas. ...
- NOIP模拟 29
T1第一眼觉得是网络流 看见4e6条边200次增广我犹豫了 O(n)都过不去的赶脚.. 可是除了网络流板子我还会什么呢 于是交了个智障的EK 还是用dijkstra跑的 居然有50分!$(RP--)$ ...
- noip模拟18
\(\color{white}{\mathbb{曲径通幽,星汉隐约,缥缈灯影,朦胧缺月,名之以:薄雾}}\) 放眼望去前十被我弃掉的 \(t2\) 基本都上85了-- 开考就以为 \(t2\) 是个大 ...
随机推荐
- Linux笔记(一) - 目录处理命令
(1)列出文件: ls-a 显示所有文件及目录,包括隐藏文件-l 显示详细信息(长格式显示)-d 显示目录本身-h 人性化显示-i 查看i节点(2)创建目录:mkdir-p 递归创建可以同时创建多个, ...
- Highcharts中如何外部修改pointStart
相信很多童鞋都在用Highcharts做图表,使用时当然就会产生各种各样的需求,今天遇到一个问题,搞了一上午才搞定:在服务端拼装好options的json串传到前段,但是有个问题,JSONObject ...
- Docker环境下如何安装Zookeeper
第一步:首先下载Zookeeper的镜像文件: 从仓库中pull 这个zookeeper镜像:docker pull jplock/zookeeper:3.4.8 然后docker images查看该 ...
- python-微博模拟登陆
微博的的模拟登陆是比较坑的,看了网上很多大神的帖子,自己又看了微博的登陆时的json数据:1.发现登陆时在输入账号时用chrome可以看到会有一个prelogin之类的网址,网址后面会有大串的随机数. ...
- zabbix 安装配置以及漏洞检测脚本
最近zabbix爆出sql注入漏洞.之前一直没装过.就想着来安装一次.我在centos配置玩玩,记录一下:1.安装LAMP yum -y install httpd mysql mysql-ser ...
- jQuery DOM 元素方法 - index() 方法
元素的 index,相对于选择器 获得元素相对于选择器的 index 位置. 该元素可以通过 DOM 元素或 jQuery 选择器来指定. 语法 $(selector).index(element) ...
- 【ARM】S5PV210芯片中的BL0的作用
S5PV210芯片中的BL0的作用:(1)关闭看门狗:(2)清除指令寄存器:(3)初始化栈区域:(4)初始化堆区域:(5)初始化块设备复制功能:(6)初始化PLL和设置系统时钟:(7)拷贝BL1到片内 ...
- php stdClass类的用法
stdClass是PHP的一个基类,所有的类几乎都继承这个类,所以任何时候任何地方都可以被new,可以让这个变量成为一个object.同时,这个基类又有一个特殊的地方,就是没有方法.凡时用new st ...
- 51nod1092(lcs简单运用/dp)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1092 题意:中文题诶- 思路: 解法1:最坏的情况就是在原字 ...
- IOS常遇问题个人收藏网址指南
代码适配Masonry使用的详细介绍: http://blog.csdn.net/majiakun1/article/details/51160339 Masonry使用注意篇: http://www ...