[HG]walk 题解】的更多相关文章

前言 学长博客划水,抄题解,差评. 于是我来重新写一篇正常的题解,虽然解法跟标程不一样,但是复杂度是一样的. 题面 题目描述 在比特镇一共有\(n\)个街区,编号依次为\(1\)到\(n\),它们之间通过若干条单向道路连接. 比特镇的交通系统极具特色,除了\(m\)条单向道路之外,每个街区还有一个编码\(val_i\), 不同街区可能拥有相同的编码.如果\(val_i\ and\ val_j = val_j\)(博主注:and这里指位与,即C++中的&), 即\(val_i\)在二进制下与\(v…
Google Kick Start 2019 C轮 第一题 Wiggle Walk 题解 题目地址:https://codingcompetitions.withgoogle.com/kickstart/round/0000000000050ff2/0000000000150aac 四个解法: 暴力模拟 使用HashMap优化,理论时间复杂度最小(好像也是并查集) (推荐)使用BitSet,实际占用空间特别小,仅仅是 2mn 个比特大小 使用HashMap实现的并查集方法,在东南西北4个方向上用…
题目描述 在比特镇一共有 \(n\) 家商店,编号依次为 \(1\) 到 \(n\). 每家商店只会卖一种物品,其中第 \(i\) 家商店的物品单价为 \(c_i\),价值为 \(v_i\),且该商店开张的时间为 \(t_i\). \(Byteasar\) 计划进行 \(m\) 次购物,其中第 \(i\) 次购物的时间为 \(T_i\),预算为 \(M_i\) 每次购物的时候,\(Byteasar\) 会在每家商店购买最多一件物品,当然他也可以选择什么都不买 如果购物的时间早于商店开张的时间,…
前言 什么鬼畜玩意,扶我起来,我要用__int128,这辈子都不珂能用龟速乘的... 真香. 题解 我们知道这个模数是个神奇的东西 \(2305843008676823040 = 2^{29} \times 3 \times 5 \times 17 \times 65537\) 所以\(\varphi(2305843008676823040) = 2^{28} \times 2 \times 2^2 \times 2^4 \times 2^{16} = 2^{51}\) \(a^{\varphi…
Content 有一个长度为 \(n\) 的数组 \(a_1,a_2,a_3,...,a_n\),并已知有 \(k\) 个不相同的元素求最长连续的一段区间,使得这里面的元素互不相同. 数据范围:\(1\leqslant n\leqslant 10^5,1\leqslant a_i\leqslant k\leqslant 10^5\). Solution 我们可以直接记录当前的元素是否和前面的不同,不同答案加 \(1\),否则取最大值之后回到初始值. 注意,初始值为 \(1\),因为一开始有 \(…
Content 有一个长度为 \(n\) 的数组 \(a_1,a_2,a_3,...,a_n\),试求出两个不相等的数之间的距离的最大值. 数据范围:\(3\leqslant n\leqslant 3\times 10^5,1\leqslant a_i\leqslant n\). Solution 弄两个指针 \(l,r\),一开始将它们分别定为 \(1,n\),然后分两次操作,第一次只将 \(l\) 向右移,第二次只将 \(r\) 向左移,直到 \(a_l\neq a_r\) 为止,然后再求出…
T1 jkl 题解 显然每次都取a[i]的最大值/最小值,并更新a[i]即可 用数据结构维护这一操作..得分看常数 事实上用v[i]记录权值为i的个数,然后for乱搞就可以了... 其它乱搞做法能获得不同的分数 提供一种50分解法 排序后 最小值,从左依次取到0 最大值,一直取最右的那个,如果它变得比前面的小就交换位置... #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib…
http://www.lydsy.com/JudgeOnline/problem.php?id=3076 https://www.luogu.org/problemnew/show/P3081#sub 有N(1 <= N <= 100,000)座小山,每座山所占的区域用直线(x1, y1) 到 (x2, y2)来表示(x1 < x2 并且 y1 < y2).也就是说这些山用笛卡尔坐标系里的线段来表示,这些用于表示小山的线段都没有任何交点,第一座山的一端位于(x1, y1) = (0…
题目链接:acm.hdu.edu.cn/showproblem.php?pid=1142 Problem Description Jimmy experiences a lot of stress at work these days, especially since his accident made working difficult. To relax after a hard day, he likes to walk home. To make things even nicer,…
前言 模拟赛赛时SubtaskR3没开long long丢了20分. 题意简述 题目描述 对于一棵有根树(设其节点数为 \(n\) ,则节点编号从 \(1\) 至 \(n\) ),如果它满足所有非根节点的编号均比起父亲更大,我们就说它是Y树. 此外,出题人给出了 \(k\) 个整数 \(a_1, \dots, a_k\),并规定,只要一棵有根树存在一个子树包含的节点数恰好为 \(a_1, \dots, a_k\) 中的某一个值,那么它不符合条件: 现给定 \(n,k,a1,\dots,ak\),…