题面

wzj的题解

T1

随便搜

 #include<bits/stdc++.h>
#define ll long long
using namespace std;
inline int read(){
int x=; bool f=; char c=getchar();
for(;!isdigit(c);c=getchar()) if(c=='-') f=;
for(; isdigit(c);c=getchar()) x=(x<<)+(x<<)+(c^'');
if(f) return x;
return -x;
}
int T,len;
char c[];
ll L;
bool dfs2(int wz,ll cur,ll sum,bool Last){
if(!(wz^len)) return sum+cur==L ? : ;
if(Last== && dfs2(wz,,sum+cur,)) return ;
if(dfs2(wz+,(cur<<)+(cur<<)+(c[wz]^''),sum,)) return ;
return ;
}
bool dfs(int wz,ll cur,ll sum,bool Last){
if(!(wz^len)) return ;
if(Last==){
L=sum+cur;
if(dfs2(wz,,,)) return ;
}
if(Last== && dfs(wz,,sum+cur,)) return ;
if(dfs(wz+,(cur<<)+(cur<<)+(c[wz]^''),sum,)) return ;
return ;
}
int main(){
T=read();
while(T--){
scanf("%s",c);
len=strlen(c);
if(dfs(,,,)) printf("Yes\n");
else printf("No\n");
}
return ;
}

T2

一道奇怪的题目。

首先想想dp,不好想。于是推推结论。

很快发现交换两个数只与以这两个数为两端的区间有关系。

具体就是说

你交换红黄两个位置的数,跟红块左边和黄块右边的部分是没有关系的,因为这两块中的0/1与外部的0/1的相对位置没变。

然后还会发现对于交换的两个数,只有左边是0、右边是1时才有意义,否则可以发现逆序对数不会多,花费也不会少,肯定不优。

然后左边的0和右边的1交换会增加多少逆序对呢?假设交换的两数的坐标分别为$i,j$,考虑两数中间部分$(i,j)$的取值。

对于中间所有的0,把1换到前面后它们会各自和前面的1形成一组新的逆序对;

对于中间所有的1,把0换到后面后它们会各自和后面的0形成一组新的逆序对。

也就是说,中间部分有多少个数,两端交换后就会出现多少新的逆序对。

再加上交换的一对0和1又形成一组新的逆序对,一次交换会形成$j-i$组新的逆序对。

将它和花费$cost_i+cost_j$作差,就得到了对答案的贡献。

显然,一组交换对答案的贡献 $\le 0$ 的话肯定不如不换。

那如果一组交换对答案的贡献 $\gt 0$,交换后一定更优么?

我们就得考虑交换结果与交换的先后顺序是否有关了。

首先,交换一组数肯定需要$cost_i+cost_j$的花费,有经验的同学会直观感觉这样的交换与先后顺序无关。

那怎么验证呢?我们取$2$组交换的情况即可。

1.两组交换区间不相交

T3

一眼认数据结构,两眼认线段树,三眼认树状数组。

一看区间操作机器人位置,那不就是线段树维护每个机器人的坐标了……

对于1操作,相当于区间赋值,打位置$tag_w$并打个清空子树中所有记录向父亲移动步数的$tag_f$的标记(因为后赋值刷掉前面的移动)。

对于2操作,跟1差不多,打向父亲移动步数的$tag_f$。

对于3操作,首先单点查询(查询一个机器人的当前位置),查到那个点的时候,先判断是否要用$tag_w$更新当前机器人在上一次1操作移到的位置,再将其向父亲移动$tag_f$步。

       其次要维护一个子树和。我们可以按dfs序开两个树状数组分别表示 子树所有点的权值和 & 子树内有多少个开灯的点。(其中一个点的权值就是它的深度,它减去另一个点的深度就是两点的距离咯)。

【2018.10.15】noip模拟赛Day1的更多相关文章

  1. 2018.10.16 NOIP模拟赛解题报告

    心路历程 预计得分:\(100 + 100 + 20 = 220\) 实际得分:\(100 + 100 + 30 = 230\) 辣鸡模拟赛.. T1T2都是一眼题,T3考验卡常数还只有一档暴力分. ...

  2. 2018.10.03 NOIP+ 模拟赛 解题报告

    得分: \(30+5+0=35\)(考得真不咋滴) \(T1\):奥义商店(点此看题面) 以为很简单,对着这题想了一个多小时,最后果断打了个暴力交了... ... 看完题解发现其实也不是很难. 对于\ ...

  3. 2018.10.30 NOIp模拟赛 T1 改造二叉树

    [题目描述] 小Y在学树论时看到了有关二叉树的介绍:在计算机科学中,二叉树是每个结点最多有两个子结点的有序树.通常子结点被称作“左孩子”和“右孩子”.二叉树被用作二叉搜索树和二叉堆.随后他又和他人讨论 ...

  4. 2018.10.30 NOIp模拟赛T2 数字对

    [题目描述] 小 H 是个善于思考的学生,现在她又在思考一个有关序列的问题.        她的面前浮现出一个长度为 n 的序列{ai},她想找出一段区间[L, R](1 <= L <= ...

  5. 10.17 NOIP模拟赛

    目录 2018.10.17 NOIP模拟赛 A 咒语curse B 神光light(二分 DP) C 迷宫maze(次短路) 考试代码 B 2018.10.17 NOIP模拟赛 时间:1h15min( ...

  6. 10.16 NOIP模拟赛

    目录 2018.10.16 NOIP模拟赛 A 购物shop B 期望exp(DP 期望 按位计算) C 魔法迷宫maze(状压 暴力) 考试代码 C 2018.10.16 NOIP模拟赛 时间:2h ...

  7. 队爷的讲学计划 CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的讲学计划 题解:刚开始理解题意理解了好半天,然后发 ...

  8. CH Round #48 - Streaming #3 (NOIP模拟赛Day1)

    A.数三角形 题目:http://www.contesthunter.org/contest/CH%20Round%20%2348%20-%20Streaming%20%233%20(NOIP模拟赛D ...

  9. CH Round #54 - Streaming #5 (NOIP模拟赛Day1)

    A.珠 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2354%20-%20Streaming%20%235%20(NOIP模拟赛Day1)/珠 题解:sb题, ...

  10. 队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP ...

随机推荐

  1. 一样的Java,不一样的HDInsight大数据开发体验

    大数据的热潮一直居高不下,每个人都在谈.你也许不知道,早些年这个领域可是有个非常「惹眼球」的段子: 1首先开始科普 什么是 HDInsight Azure HDInsight 是 Hortonwork ...

  2. COGS 2084. Asm.Def的基本算法

    ★☆   输入文件:asm_algo.in   输出文件:asm_algo.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] “有句美国俗语说,如果走起来像鸭子,叫起来像 ...

  3. Fixed table

    废话不多说,直接代码. <!DOCTYPE> <html> <head> <meta charset="utf-8"/> <s ...

  4. FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool <registering> (Datanode Uuid unassigned) service to controller/192.168.1.183:9000. Exiting. java.io.IOExcep

    2018-01-09 09:47:38,297 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed ...

  5. react中的setState的使用和深入理解

    前端框架从MVC过渡到MVVM.从DOM操作到数据驱动,一直在不断的进步着,提升着, angular中用的是watcher对象,vue是观察者模式,react就是state了,他们各有各的特点,没有好 ...

  6. Web项目之Django实战问题剖析

    基于AdminLTE-master模板的后台管理系统 左侧菜单栏的二级标签设计 面包屑 Django文件上传 后台管理系统CRM项目设计流程分析

  7. shell脚本,录制和回放终端的小工具script。

    action.log和time.log这两个配置文件被当做script命令的参数.这两个文件可以随便命名.这里用time.log和action.log.其中time.log用于存储时序信息,描述每一个 ...

  8. Web开发面临的挑战主要有哪些?

    摘要:要成为一名高效的Web开发者,这需要我们做很多工作,来提高我们的工作方式,以及改善我们的劳动成果.而在开发中难免会遇到一些困难,从前端到后端. 导读:要成为一名高效的Web开发者,这需要我们做很 ...

  9. 661. Image Smoother@python

    Given a 2D integer matrix M representing the gray scale of an image, you need to design a smoother t ...

  10. hihoCoder-1109-堆优化的Prim

    优先队列是由堆组成的,所以当我们使用优先队列对Prim进行优化时,就把这种优化叫做堆优化. 它的算法核心思想就是每次向后找边,每个pair存的都是下一个点,以及边权.我们对于已经走过的点就避开,这样就 ...