1 P1881 闪烁的繁星

分治,维护几个结果即可。

#include <cstdio>
#include <iostream>
using namespace std;const int maxn = 200007;
int a[maxn<<2][3];
int b[maxn];#define LL        1
#define RR        2void build(int l, int r, int i)
{a[i][0] = a[i][1] = a[i][2] = 1;if (l == r) return;else {int m = l+r >> 1;build(l, m, i<<1), build(m + 1, r, i<<1 | 1);}}void modify(int p, int l, int r, int i)
{if (l == r)    return;else {int m = l+r >> 1;if (p <= m) modify(p, l, m, i<<1);else modify(p, m+1, r, i<<1 | 1);if (b[m] != b[m+1]) {//printf("[%d, %d][%d, %d]\n", l, m, m+1, r);if (a[i<<1][LL] >= m-l+1)a[i][LL] = m-l+1 + a[i<<1 | 1][LL];else a[i][LL] = a[i<<1][LL];if (a[i<<1 | 1][RR] >= r-m)a[i][RR] = r-m + a[i<<1][RR];else a[i][RR] = a[i<<1 | 1][RR];a[i][0] = max(a[i<<1][RR] + a[i<<1 | 1][LL], max(a[i<<1][0], a[i<<1][1]));//printf("%d 0]%d 1]%d 2]%d\n", i, a[i][0], a[i][1], a[i][2]);} else {a[i][0] = max(a[i<<1][0], a[i<<1 | 1][0]);a[i][LL] = a[i<<1][LL];a[i][RR] = a[i<<1 | 1][RR];}}}int main(void)
{int N, Q;scanf("%d%d", &N, &Q);build(1, N, 1);for(int i=0; i<Q; ++i) {int c;scanf("%d", &c); b[c] ^= 1;modify(c, 1, N, 1);printf("%d\n", a[1][0]);}return 0;
}

2 P1882 石阶上的砖

可以想到是贪心策略,既然要求两边依次相差1,我们索性就先减掉然后再贪心。比赛时2b的最后拍了求平均数的解答,结果测试数据没一个对的= =。

改成求中位数就AC了,正确性也是不难证明的。。。(太2b了)

 1 #include <cstdio>
 2 #include <algorithm>
 3 #include <vector>
 4 using namespace std;
 5
 6 typedef long long LL;
 7 LL castle[2][300002];
 8 vector<LL> sorted;
 9
10 #define abs(x) ((x)<0?-(x):(x))
11
12 int main(void)
13 {
14     int N;
15     scanf("%d", &N);
16     for(int i=0;i<N; ++i) scanf("%I64d", &castle[0][i]);
17     for(int i=0;i<N; ++i) scanf("%I64d", &castle[1][i]);
18
19     int mid = N>>1;
20     sorted.push_back(castle[0][mid]), sorted.push_back(castle[1][mid]);
21     for(int i=1; i+i+1<=N; ++i){
22         castle[0][mid - i] -= i, castle[1][mid - i] -= i;
23         castle[0][mid + i] -= i, castle[1][mid + i] -= i;
24
25         sorted.push_back(castle[0][mid - i]), sorted.push_back(castle[0][mid + i]);
26         sorted.push_back(castle[1][mid - i]), sorted.push_back(castle[1][mid + i]);
27     }
28     sort(sorted.begin(), sorted.end());
29     // 求中位数
30     int median = sorted.size() >> 1;
31     LL ans = 0;
32     for(int i=0; i<N; ++i) {
33         ans += abs(castle[0][i] - sorted[median]);
34         ans += abs(castle[1][i] - sorted[median]);
35     }
36     printf("%I64d\n", ans);
37     return 0;
38 }

转载于:https://www.cnblogs.com/e0e1e/p/4008078.html

VIJOS国庆节模拟赛之繁星春水相关推荐

  1. 笨笨工作室告别十月模拟赛

    笨笨工作室告别十月模拟赛 为了大家适应今年复赛电子版题目特意整理了一份电子版题目: /Files/hhdllhflower/笨笨工作室告别十月模拟赛.rar Chess Background 笨笨:& ...

  2. NOI.AC NOIP模拟赛 第六场 游记

    NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...

  3. 2017.6.11 校内模拟赛

    题面及数据及std(有本人的也有原来的) :2017.6.11 校内模拟赛 T1 自己在纸上模拟一下后就会发现 可以用栈来搞一搞事情 受了上次zsq 讲的双栈排序的启发.. 具体就是将原盘子大小cop ...

  4. 2020年蓝桥杯模拟赛2020.3.25直播笔记

    2020年蓝桥杯模拟赛解题报告(CPP版本) 第八题 长草的bfs写法[我想暴力模拟O kmn] 深搜会爆 bfs像投到水里的涟漪 问题: const int dx[] = {1, 0, -1, 0} ...

  5. 2021年 第12届 蓝桥杯 第4次模拟赛真题详解及小结【Java版】

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  6. 2021年 第12届 蓝桥杯 第3次模拟赛真题详解及小结【Java版】

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  7. 蓝桥杯 Java B组 省赛决赛模拟赛 详解及小结汇总+题目下载【2013年(第4届)~2021年(第12届)】

    蓝桥杯 Java B组 省赛决赛模拟赛 详解及小结汇总+题目下载[2013年(第4届)~2021年(第12届)] 百度网盘-CSDN蓝桥杯资料(真题PDF+其它资料)   提取码:6666 2013年 ...

  8. 2020年 第11届 蓝桥杯 第2次模拟赛真题详解及小结【Java版】

    蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 注意:部分代码及程序 源自 蓝桥杯 官网视频(历年真题解析) 郑未老师. 2013年 第04届 蓝桥杯 ...

  9. 10.30 NFLS-NOIP模拟赛 解题报告

    总结:今天去了NOIP模拟赛,其实是几道USACO的经典的题目,第一题和最后一题都有思路,第二题是我一开始写了个spfa,写了一半中途发现应该是矩阵乘法,然后没做完,然后就没有然后了!第二题的暴力都没 ...

最新文章

  1. MikuMikuDance 6 菜单汉化补丁
  2. vc++实现无进程无DLL无硬盘文件无启动项的ICMP后门后门程序
  3. python缩进用什么键盘好_关于Python基础缩进和选择的介绍
  4. Windows 2008 R2 X64 安装WebsitePanel(WSP虚拟主机管理面板)
  5. 【Crash Course Psychology】1. Intro to psychology笔记
  6. 闲话WPF之十五(WPF的数据处理 [2])
  7. python 三引号_Python 字符串
  8. Paper:《Multimodal Machine Learning: A Survey and Taxonomy,多模态机器学习:综述与分类》翻译与解读
  9. 02_Android写xml文件和读xml文件
  10. 在SAP WebIDE里开发一个最简单的react component
  11. JCGridMenu
  12. oracle日期函数函数,Oracle日期函数
  13. 17. 使用“swap技巧”除去多余得容量
  14. linux配置jupyterlab
  15. 输入字符_你会输入带圈字符吗?
  16. 离线维基百科全书阅读器(wikireader)
  17. Sublime 复制当前行快捷键及删除当前行快捷键、跳到最后一行、选中一行快捷键
  18. 纸鸢|物联网云平台产品设计思路
  19. 大数据量查询大杀器之Mybatis 流式查询
  20. 以太网的分层架构_工业以太网中层次拓扑结构对网络性能的影响

热门文章

  1. 04-spring的依赖注入
  2. git将代码提交到多个远程仓库
  3. QLable显示图片 和 QLabel自适应 QLabel 文字居中
  4. MongoDB windows解压缩版安装
  5. 6.Mybatis中的动态Sql和Sql片段(Mybatis的一个核心)
  6. 团体程序设计天梯赛-练习集L1-013. 计算阶乘和
  7. jquery中的DOM操作集锦
  8. 设计模式之-工厂方法模式
  9. Rust 1.27支持SIMD
  10. Android系统默认Home应用程序(Launcher)的启动过程源码分析