首页 > TAG信息列表 > HNOI2018

听课笔记 2021-3-4

「AHOI / HNOI2018」排列 「AHOI / HNOI2018」游戏 「HNOI2019」鱼 「HNOI2015」亚瑟王 第一个题是建图+打怪兽(经典合并式贪心) 第二个题是先找到什么时候左边不能走到右边的性质(估计可以尝试找规律找出来这个性质) 第三个题是奇怪的计算几何 第四个题是 先咕着

LOJ2494. 「AHOI / HNOI2018」寻宝游戏

给出\(n+1\)个长度为\(m\)的二进制数组成的序列(规定\(a_0=0\),其它读入),每个询问给出一个二进制数。你需要求出在这个序列中每个相邻位置之间添加符号\(\and\)或\(\or\)(规定运算从左往右进行),使得运算结果为询问的二进制数的方案数。 \(n,q\le 1000,m\le 5000\) 没有看到运算顺序所

HNOI2018省队集训 Day3

HNOI2018省队集训 Day3 circular 简单题 直接破环为链+倍增即可。 admirable 最开始想的是点分治,因为往上的路径有点不好搞,觉得题解肯定还有复杂度更小的做法就去看题解 然后发现可以处理出以某个儿子为根的f值,就可以直接dfs了,复杂度从\(nlog^3\)变成\(n(log^2+\sqrt n)\)。具体方

* ! AHOI/HNOI2018转盘

线段树维护单调栈 又是一道非常棒的思维题!!! SOL: 问题转化(倒着思考) t时刻在某点,每次可以向后走一步或留在原地,然后t减1 每个点在\(T_i\)消失,求最小的\(t\)使得所有点都可以在消失前被访问 于是惊奇地发现留在原地一定不优,会一直往前走 破环为链(2倍),对于\(i\in[n,2n)\)走到j的时间

* ! AHOI/HNOI2018寻宝游戏

x&0=0,x|1=1 我们把\(\&\to0,|\to1\),把操作用01串代替 于是转化为比大小的题目 桶排然后记录每个串的值方便求答案 时间复杂度\(O(nm)\) #include<bits/stdc++.h> using namespace std; inline int read(){ int x=0,f=1;char c=getchar(); while(!isdigit(c)){if(c=='-')f=-1

! AHOI/HNOI2018排列

第\(i\)个数要放在第\(a_i\)个数的后面 有环无解 原思路: 连边,拓扑排序,只是每次弹出时弹\(w_i\)最大的 但这是错误的贪心思路,因为可能较小的后面都是很大的数 SOL: 还是连边,发现形成了一棵以0为根的树 当前权值最小的点\(i\) 若无父亲\(a_i=0\),则直接选 若有父亲,一定是选了父亲

【HNOI2018】毒瘤

【HNOI2018】毒瘤 设\(f_{v,0}\)表示\(v\)的子树中\(v\)不选的方案数,\(f_{v,1}\)表示\(v\)选的方案数。 显然 \[ f_{v,0}=\prod (f_{sn,0}+f_{sn,1})\\ f_{v,1}=\prod f_{sn,0} \] 我们可以写成矩阵乘法的形式 \[ \begin{bmatrix}f_{sn,0}& f_{sn,1}\end{bmatrix} \begin{bmat

「HNOI2018」转盘

「HNOI2018」转盘 现场推出了大部分结论但是只写了 \(40\) 分暴力,被贺指导踩爆,现在还有点怀念 HNOI2018 贺指导对着镜子荒野行动的日子,那几天他云球迷瞎**指点篮球,被送上指导称号一个。 解题思路: 可以大力证明一定存在一种最优解只需要走一圈,假设存在一个最优解在某个时刻已经走了

[HNOI2018]排列

Description: 给定 \(n\) 个整数 \(a_1, a_2, \dots, a_n, 0 \le a_i \le n\),以及 \(n\) 个整数 \(w_1, w_2, \dots, w_n\)。称 \(a_1, a_2, \dots, a_n\)的 一个排列 \(a_{p[1]}, a_{p[2]}, \dots, a_{p[n]}\)为 \(a_1, a_2, \dots, a_n\)的一个合法排列,当且仅当该排列满足:对于任意

BZOJ.5288.[AHOI/HNOI2018]游戏(思路 拓扑)

BZOJ LOJ 洛谷 考虑如何预处理每个点能到的区间\([l,r]\)。 对于\(i,i+1\)的一扇门,如果钥匙在\(i\)的右边,连边\(i\to i+1\),表示从\(i\)出发到不了\(i+1\);否则连边\(i+1\to i\)。没有门的话就缩成一个点。 如果存在边\(i\to j\),那么\(j\)的区间包含\(i\),而\(i\)肯定不包含\(j\)。从

BZOJ.5290.[AHOI/HNOI2018]道路(树形DP)

BZOJ LOJ 洛谷 老年退役选手,都写不出普及提高DP= = 在儿子那统计贡献,不是在父亲那统计啊!!!(这样的话不写这个提高DP写记忆化都能过= =) 然后就令\(f[x][a][b]\)表示在\(x\)节点上面有\(a\)条不修的公路\(b\)条不修的铁路的最小花费,在叶节点处统计贡献,转移的时候枚举不修哪个即可。 对

BZOJ.5287.[AHOI HNOI2018]毒瘤(虚树 树形DP)

BZOJ LOJ 洛谷 设\(f[i][0/1]\)表示到第\(i\)个点,不选/选这个点的方案数。对于一棵树,有:\[f[x][0]=\prod_{v\in son[x]}(f[v][0]+f[v][1])\\f[x][1]=\prod_{v\in son[x]}f[v][0]\] 对于非树边的限制,可以再加一维非树边端点的状态(选没选),能得\(55\)分。 对于一条非树边\((u,v)\),要么

BZOJ5289: [Hnoi2018]排列

传送门 第一步转化,令 \(q[p[i]]=i\),那么题目变成: 有一些 \(q[a[i]]<q[i]\) 的限制,\(q\) 必须为排列,求 \(max(\sum_{i=1}^{n}w[i]q[i])\) 这个东西是可以建图的,\(i\rightarrow a[i]\),不合法当且仅当有环 其它情况就是一棵树(\(0\) 为根) 也就是在这个树上依次选点,选 \(u\) 之前必须

【BZOJ5290】 [Hnoi2018]道路

BZOJ5290 [Hnoi2018]道路 前言 这道题目我竟然没有在去年省选切? 我太菜了. Solution 对题面进行一个语文透彻解析,发现这是一个二叉树,乡村都是叶子节点,城市都有两个儿子.(依据在下) 那么就可以树形dp了.我们假设公路是左儿子,铁路是右儿子. \(dp_{i,j,k}\)表示到了\(i\)节点,