Hnoi-2016 省选总结

                             %%%%小胖犇!!!!!高一RANK1

  感觉省选好难的说。。。反正我数据结构太垃圾正解想到了也打不出来打一打暴力就滚粗了!

  DAY1

  0+20+30

  DAY2

  60+0+60

  最后170分,暴力分还是没有拿全!

  写一写那两个60分的暴力是怎么打出来的吧0.0

  day2 t1 sequence

   显然暴力n^3是没什么希望了只有10分,那么注意到前两个点的值很小,直接n^2预处理答案就可以了,还有前30-40分的预处理时候不可以只记录一维前缀,要处理出所有答案(一路推过去)就行了。

     另外的50-60分的时候n=100000,q=10。那么我们就只要优化预处理就可以过了,这个时候空间也开不下了(这是得不到60分的主要问题,数据点比较水,n^2的暴力都可以过),推导一个公式:以某一个点位置左右拓展创建子串,在这个点的子串总数为(左端连续比其小的数字个数+1)*(右端连续比其小的数+1)n^2预处理(但是可以单调栈或者随机跳表来优化) qn 查询,这样就有60分了。(公式仅仅成立于数字互不相等的情况)

  过几天再写!!!

时间: 2024-10-10 11:08:23

Hnoi-2016 省选总结的相关文章

HNOI 2016 省队集训日记

第一天 DeepDarkFantasy 从东京出发,不久便到一处驿站,写道:日暮里.  ——鲁迅<藤野先生> 定义一个置换的平方为对1~n的序列做两次该置换得到的序列.已知一个置换的平方,并且这个结果是一个排列,求该置换. 输入第一行一个数n表示排列长度,接下来一行n个数描述排列. 有解则输出一行n个数表示原排列.否则输出一行一个-1. 测试点编号 特征 0~1 n<=10 2~9 n<=1000000 此题有spj. 考试的时候懵逼了,根本没想清就开始乱打. 题解:由题易得每一个

HNOI 2016 乱做

  4542: [Hnoi2016]大数 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 488  Solved: 182[Submit][Status][Discuss] Description 小 B 有一个很大的数 S,长度达到了 N 位:这个数可以看成是一个串,它可能有前导 0,例如00009312345.小B还有一个素数P.现在,小 B 提出了 M 个询问,每个询问求 S 的一个子串中有多少子串是 P 的倍数(0 也是P 的倍数).例如

HNOI 2016 地图

[题目描述] Hoshizora Rin是个特别好动的少女. 一天Rin来到了一个遥远的都市.这个都市有N个建筑,编号从1到N,其中市中心编号为1,这个都市有M条双向通行的街道,每条街道连接着两个建筑,其中某些街道首尾相连连接成了一个环.Rin通过长时间的走访,已经清楚了这个都市的两个特点: 从市中心出发可以到达所有的建筑物. 任意一条街道最多存在与一个简单环中. 令Rin心花怒放的是,每个建筑物都会有拉面售卖.拉面有很多不同的种类,但对于Rin而言只有油腻程度的不同,因此我们把油腻程度相同的拉

【BZOJ 4539】【HNOI 2016】树

http://www.lydsy.com/JudgeOnline/problem.php?id=4539 今天测试唯一会做的一道题. 按题目要求,如果暴力的把模板树往大树上仍,最后得到的大树是$O(n^2)$级别的,不能存储,更不能做了. 把模板树往大树上扔的过程我想象成了两个大节点进行连边,每个大节点代表模板树本身或一部分. 这相当于把初始的大树(此时和模板树相同)缩成一个大节点,每次把模板树的一部分缩成一个大节点往大节点构成的大树上连,最后连好的大节点构成的模板树是$O(n)$级别的. 每个

数据结构(树链剖分,堆):HNOI 2016 network

2215. [HNOI2016]网络 ★★★☆   输入文件:network_tenderRun.in   输出文件:network_tenderRun.out   简单对比时间限制:2 s   内存限制:128 MB [题目描述] [输入格式] [输出格式] [样例输入1] 13 23 1 2 1 3 2 4 2 5 3 6 3 7 4 8 4 9 6 10 6 11 7 12 7 13 2 1 0 8 13 3 0 9 12 5 2 9 2 8 2 2 0 10 12 1 2 2 1 3 2

[HNOI 2016]大数

Description 题库链接 给你一个长度为 \(n\) ,可含前导零的大数,以及一个质数 \(p\) . \(m\) 次询问,每次询问你一个大数的子区间 \([l,r]\) ,求出子区间中有多少个子串为 \(p\) 的倍数. \(1\leq n,m\leq 100000\) Solution 记 \(a_i\) 为大数第 \(i\) 位上的数值. 注意到题目是要求 \[\sum_{i=l}^r\sum_{j=i}^r\left[\sum_{k=i}^ja_k\cdot 10^{j-k}\e

[HNOI 2016]序列

Description 题库链接 给你一个长度为 \(n\) 的序列 \(A\) ,给出 \(q\) 组询问.每次询问 \([l,r]\) ,求该区间内所有的子序列中最小值的和. \(1\leq n,q\leq 100000,|A_i|\leq 10^9\) Solution 考虑把右端点右移时,会产生 \(r-l+1\) 个新的区间,我们可以来统计这 \(r-l+1\) 个区间的最小值和. 记 \(pre_i\) 为从第 \(i\) 位往左走第一个值比 \(A_i\) 小的位置. 显然在 \(

[HNOI 2016]最小公倍数

Description 题库链接 给定一张 \(N\) 个顶点 \(M\) 条边的无向图(顶点编号为 \(1,2,\cdots,n\) ),每条边上带有权值.所有权值都可以分解成 \(2^a\times 3^b\) 的形式. \(q\) 个询问,每次询问给定四个参数 \(u,v,a,b\) ,请你求出是否存在一条顶点 \(u\) 到 \(v\) 之间的路径,使得路径依次经过的边上的权值的最小公倍数为 \(2^a\times 3^b\) . \(1\leq n,q\leq 50000,1\leq

oi经历的一些往事

在实验报告和电子学/大物里扑腾的时候总会怀念以前学oi的时候--现在只有每周数学兴趣小组能感受到那种单纯的快乐了.以前很多快乐的点点滴滴现在想起来还很生动,想趁着没忘先记下来. 小学 TODO 初中 TODO 高一 上了高一之后很快来了一次noip.查了一下当时的成绩,是340,比初三还差. 刚上高中的时候我应该还沉浸在学习文化课的快乐中(雾),没怎么训练oi.后来学校开始让我们学竞赛了,作为"第一届创新班",我们是学校里第一届成规模学竞赛的--当然老师们也是第一次弄这个.学校让我们每

聊一聊前端模板与渲染那些事儿

欢迎大家收看聊一聊系列,这一套系列文章,可以帮助前端工程师们了解前端的方方面面(不仅仅是代码): https://segmentfault.com/blog/frontenddriver 作为现代应用,ajax的大量使用,使得前端工程师们日常的开发少不了拼装模板,渲染模板.我们今天就来聊聊,拼装与渲染模板的那些事儿. 如果喜欢本文请点击右侧的推荐哦,你的推荐会变为我继续更文的动力 1 页面级的渲染 在刚有web的时候,前端与后端的交互,非常直白,浏览器端发出URL,后端返回一张拼好了的HTML串