老司机的奇怪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\) 是个大 ...
随机推荐
- java基础(一)对象
对象的创建 Test test = new Test(); Test test = new Test("a"); 其实,对象被创建出来时,对象就是一个对象的引用,这个引用在内存中为 ...
- Python第一天——入门Python(4)字典的常用操作
# dic={[1,2,3]:'123'} #可变类型不能当做字典的key,value可以使用任意类型 # dic={(2,3,4):'123'} # print (dic[(2,3,4)]) #元组 ...
- PHP集成环境自定义设置PHP版本,同时运行多个php版本,700个PHP版本随时切换,一键开启常用模块。
本文采用我自己开发的纯绿色版WAMP环境(我将这个WAMP环境命名为PHPWAMP) (PHPWAMP默认集成VC,不需要单独安装) 那么什么是WAMP环境?WAMP这个词是什么意思? Windows ...
- Flexible 弹性盒子模型之CSS align-self 属性
实例 居中对齐弹性对象元素内的某个项: #myBlueDiv { align-self:center; } 复制 效果预览 浏览器支持 表格中的数字表示支持该属性的第一个浏览器的版本号. 紧跟在 -w ...
- VSFTP服务——实验
一.VSFTP 作用:提供文件共享服务,可以应用在互联网中,实现外地登录服务器下载公司文件的功能,不区分客户端,在windows和linux中都是可以使用的 1.安装vsftpd [root@Serv ...
- iframe自适应高度问题
我页面中的iframe <iframe name="mainFrame" id="mainFrame" src="/account/${page ...
- leetcode 024
Given a linked list, swap every two adjacent nodes and return its head. For example,Given 1->2-&g ...
- Linux网络管理常用命令:net-tools VS iproute2
Exported from workflowy! net-tools ifconfigifconfig命令:用于接口及地址查看和管理 route netstat arp iproute2 ip lin ...
- ArcEngine开发中StartEditing和StartEditOperation的区别
背景: 最近在开发一个管道数据维护系统的新增模块,牵涉到将这个模块的数据编辑统一到整个系统的编辑处理框架内的问题:即这个系统的所有对数据产生的编辑都需要处在整个系统唯一的开始.保存.回滚编辑的入口内. ...
- Linux 操作命令列表记录
Linux 操作命令列表记录 SSH登录 登录 ## 范式 ssh [username]@[host] ## 例 ssh -p 1222 root@10.0.0.1 使用非默认端口(ssh默认端口22 ...