这场真是无聊,搬远古原题……

xjb做了做,(居然没AK真是身败名裂)

A.教主的花园

答案明显具有可二分性,二分答案判定下就行。

#include<bits/stdc++.h>
#define N 100010
using namespace std;
int n,m,a[N];
inline int check(int x){
int l=,r=n;int ret=n;
while(l<=r){
int mid=(l+r)>>;
if(a[mid]<x)l=mid+;else r=mid-,ret=mid;
}
return ret;
}
inline int dis(int a,int b){a=a-b;if(a<) return -a;else return a;}
inline int read(){
int f=,x=;char ch;
do{ch=getchar();if(ch=='-')f=-;}while(ch<''||ch>'');
do{x=x*+ch-'';ch=getchar();}while(ch>=''&&ch<='');
return f*x;
}
int main(){
n=read();for(int i=;i<=n;i++)a[i]=read();
m=read();int x1,y1,x2,y2;
sort(a+,a+n+);
for(int i=;i<=m;i++){
x1=read(),y1=read(),x2=read(),y2=read();
if((y1<&&y2<)||(y1>&&y2>)){printf("%d\n",dis(y1,y2)+dis(x1,x2));continue;}
if(x1>x2)swap(x1,x2);int len=(x1+x2)>>,pos=check(len);
if(x1<=a[pos]&&a[pos]<=x2){printf("%d\n",dis(y1,y2)+dis(x1,x2));continue;}
int t1=dis(a[pos],x1)+dis(a[pos],x2)+dis(y1,y2),t2=0x7fffffff,t3=0x7fffffff;
if(pos>)t2=dis(a[pos-],x1)+dis(a[pos-],x2)+dis(y1,y2);
if(pos<n)t3=dis(a[pos+],x1)+dis(a[pos+],x2)+dis(y1,y2);
if(t1>t2)t1=t2;if(t1>t3)t1=t3;
printf("%d\n",t1);
}
}

教主泡嫦娥

环形上跑一下dp,四维记录状态。

#include<bits/stdc++.h>
#define N 10010
#define inf 10000000000000007LL
using namespace std;
typedef long long ll;
int a[N],n,m;
ll f[N][][],ans=;
inline ll sqr(ll x){return x*x;}
inline void dfs(){
f[][][]=f[][][]=inf;
for(int i=;i<=n;i++)for(int j=;j<;j++)
if((a[i]<a[i-])^j){
f[i][j][]=f[i-][j][]+abs(a[i]-a[i-]);
f[i][j][]=min(f[i-][j][],min(f[i-][j^][],f[i-][j^][])+m)+abs(a[i]-a[i-]);
}
else{
f[i][j][]=f[i-][j][]+sqr(a[i]-a[i-]);
f[i][j][]=min(f[i-][j][],min(f[i-][j^][],f[i-][j^][])+m)+sqr(a[i]-a[i-]);
}
}
inline int read(){
int f=,x=;char ch;
do{ch=getchar();if(ch=='-')f=-;}while(ch<''||ch>'');
do{x=x*+ch-'';ch=getchar();}while(ch>=''&&ch<='');
return f*x;
}
int main(){
n=read();m=read();
for(int i=;i<n;i++)a[i]=read();
a[n]=a[];memset(f,,sizeof(f));
dfs();
ans=min(min(f[n][][],f[n][][]),min(f[n][][],f[n][][]));
memset(f,,sizeof(f));f[][][]=inf;dfs();
ans=min(ans,f[n][][]-m);
memset(f,,sizeof(f));f[][][]=inf;dfs();
ans=min(ans,f[n][][]-m);
cout<<ans<<endl;
}

保镖排队:

懒得写了,从网上粘一个解释下来:

于是假设当前有tot个格子,然后自己有j个儿子,因为是可放可不放于是就是C(tot+j,j),这个时候你们就会疑惑了,难道不是C(tot+j-1,j)吗,这不是才是可放可不放的公式吗,但你可能忘记了,自己虽然必须放在最前面,但是总的可放位置仍要把他算进去呀

#include<bits/stdc++.h>
#define N 2010
#define yql 10007
using namespace std;
int f[N][N],dp[N],g[N][N],val[N],n;
inline int read(){
int f=,x=;char ch;
do{ch=getchar();if(ch=='-')f=-;}while(ch<''||ch>'');
do{x=x*+ch-'';ch=getchar();}while(ch>=''&&ch<='');
return f*x;
}
void calc(int x){
dp[x]=;if(!g[x][]){val[x]=;return;}
int tot=;
for(int i=g[x][];i;i--){
calc(g[x][i]);tot+=val[g[x][i]];
dp[x]=dp[x]%yql*dp[g[x][i]]%yql*f[tot-][val[g[x][i]]-]%yql;
}
val[x]=tot+;
}
inline void pre(){
f[][]=;
for(int i=;i<=;i++){
f[i][]=;for(int j=;j<=i;j++)f[i][j]=(f[i-][j-]+f[i-][j])%yql;
}
}
int main(){
pre();int T=read();
while(T--){
memset(g,,sizeof(g));memset(dp,,sizeof(dp));memset(val,,sizeof(val));
n=read();
for(int i=;i<=n;i++){
g[i][]=read();
for(int j=;j<=g[i][];j++)g[i][j]=read();
}
calc();
printf("%d\n",dp[]);
}
}

教主的别墅

针鸡儿丢人,身败名裂,被卡了一个点

居然都没有AK。

不放代码了,太气了。

【jzoj6.24模拟B】的更多相关文章

  1. 24模拟keepalved vrrp功能,监听主节点,如果主节点不可访问则备节点启动并配置LVS实现接管主节点的资源提供服务(提醒:注意ARP缓存)

    [root@lb04 scripts]# cat ha_lv.sh #!/bin/bash while true do check_count=$(nmap 10.0.0.13|grep " ...

  2. 2.24 模拟赛 + DIV2 总结

    本来实在是不想打了,后来真的手痒. 晚上发现正进行DIV2然后就打了场,模拟,幸好没参加,逆风.排名2400 Codeforces Round #622 (Div. 2) A题十分钟过了 B题http ...

  3. WCF技术剖析之十八:消息契约(Message Contract)和基于消息契约的序列化

    原文:WCF技术剖析之十八:消息契约(Message Contract)和基于消息契约的序列化 [爱心链接:拯救一个25岁身患急性白血病的女孩[内有苏州电视台经济频道<天天山海经>为此录制 ...

  4. 基于CPS变换的尾递归转换算法

    前言 众所周知,递归函数容易爆栈,究其原因,便是函数调用前需要先将参数.运行状态压栈,而递归则会导致函数的多次无返回调用,参数.状态积压在栈上,最终耗尽栈空间. 一个解决的办法是从算法上解决,把递归算 ...

  5. 030.Zabbix分布式部署

    一 分布式Zabbix介绍 zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix se ...

  6. 前端面试题(一)JS篇

    内置类型 JS 中分为七种内置类型,七种内置类型又分为两大类型:基本类型和对象(Object). 基本类型有六种: null,undefined,boolean,number,string,symbo ...

  7. CSP 2019 游记

    Day -32 开坑. 没什么好说的,等个 5 天等初赛(应该叫第一轮认证)挂掉之后就能弃坑了. 今天开始停课,虽然每天只停半天,但是感觉还是特别的舒服~ 然而得等初赛过了才能全天停课-- 没关系,熬 ...

  8. CF1010D Mars rover

    CF1010D Mars rover 洛谷评测传送门 题目描述 Natasha travels around Mars in the Mars rover. But suddenly it broke ...

  9. 028-实现阿里云ESC多FLAT网络

    实现类似于阿里云ECS的网络结构,其效果为云主机拥有两块和两个不同的网络,一个网络是用于用于和外网连接,一个用于内网通信,但宿主机上至少有两个网卡,整体配置如下:1.在wmare里给宿主机添加一块网卡 ...

随机推荐

  1. 《转》HTTP 协议入门

    HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点. 本文介绍 HTTP 协议的历史演变和设计思路. 一.HTTP/0.9 HTTP 是基于 TCP ...

  2. (四)Redis哈希表Hash操作

    Hash全部命令如下: hset key field value # 将哈希表key中的字段field的值设为value hget key field # 返回哈希表key中的字段field的值val ...

  3. 【刷题】洛谷 P3809 【模板】后缀排序

    题目背景 这是一道模板题. 题目描述 读入一个长度为 \(n\) 的由大小写英文字母或数字组成的字符串,请把这个字符串的所有非空后缀按字典序从小到大排序,然后按顺序输出后缀的第一个字符在原串中的位置. ...

  4. LG. 1003 铺地毯

    LG. 1003 铺地毯 题意分析 给出平面中地毯的左上角坐标和长宽,然后给出一点(x,y).求此点最上面是哪个地毯的编号,若没被覆盖则输出-1. 将所有地毯的信息存在一个结构体中,由于后埔地毯在上面 ...

  5. php 获取客户端IP地址经纬度所在城市

    1. [代码]获取客户端IP地址经纬度所在城市 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 <?php   $getIp=$_SERVER["REMOTE_ADDR ...

  6. Linux之ioctl20160705

    ioctl(fdAcodec, ACODEC_GET_ADCL_VOL, &vol_ctrl)//从内核驱动中获取或者设置数据//内核驱动中也使用ACODEC_GET_ADCL_VOL进行ca ...

  7. pg_basebackup: invalid tar block header size

    问题: 在使用pg_basebackup搭建备节点时,由于pg_basebackup本身使用的是int整型来保存传输的数据大小,当传输的数据大于4G的话,整数就会溢出,进而报出:pg_baseback ...

  8. Matrix.(POJ-2155)(树状数组)

    题目是让每次对一个子矩阵进行翻转(0变1,1变0), 然后有多次询问,询问某个点是0还是1 这题可以用二维的树状数组来解决,考虑传统的树状数组是改变某个点,然后查询某一段, 而这个题是改变某一段,查询 ...

  9. ZooKeeper管理员指南——部署与管理ZooKeeper

    1.部署 本章节主要讲述如何部署ZooKeeper,包括以下三部分的内容: 系统环境 集群模式的配置 单机模式的配置 系统环境和集群模式配置这两节内容大体讲述了如何部署一个能够用于生产环境的ZK集群. ...

  10. C#泛型实例详解

    本文以实例形式讲述了C#泛型的用法,有助于读者深入理解C#泛型的原理,具体分析如下: 首先需要明白什么时候使用泛型: 当针对不同的数据类型,采用相似的逻辑算法,为了避免重复,可以考虑使用泛型. 一.针 ...