首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
[题解]Shorten IPv6 Address-模拟(2019牛客多校第六场B题)
】的更多相关文章
[题解]Shorten IPv6 Address-模拟(2019牛客多校第六场B题)
题目链接:https://ac.nowcoder.com/acm/contest/886/B 题意: 您将获得一个IPv6地址,该地址是128位二进制字符串.请根据以下规则确定其最短的表示: 以十六进制表示形式表示地址,并使用冒号':'分割每四个十六进制数字.每四个数字称为一个字段.例如,'0000:0000:0123:4567:89ab:0000:0000:0000' 可以省略字段中的前导零.例如,上述IPv6地址可以缩短为 '0:0:123:4567:89ab:0:0:0' 由至少两个字段组…
2019牛客多校第八场 F题 Flowers 计算几何+线段树
2019牛客多校第八场 F题 Flowers 先枚举出三角形内部的点D. 下面所说的旋转没有指明逆时针还是顺时针则是指逆时针旋转. 固定内部点的答案的获取 anti(A)anti(A)anti(A)或者说A‾\overline{A}A表示DA→\overrightarrow{DA}DA旋转180°之后的方向. block(A,B)block(A,B)block(A,B)表示的是DA→\overrightarrow{DA}DA旋转到DB→\overrightarrow{DB}DB的扫过的几何区间.…
2019牛客多校第六场 B - Shorten IPv6 Address 模拟
B - Shorten IPv6 Address 题意 给你\(128\)位的二进制,转换为十六进制. 每\(4\)位十六进制分为\(1\)组,每两组用一个\(":"\)分开. 每一组的十六进制要去掉前导\(0\). 如果存在连续两组以上的\(0\)要转换为\("::"\).比如,\(0:0:0.0:0\)都可以转换成\("::"\). 但是最多只能转换一次,要求在长度最短的条件下字典序最小. 思路 先把二进制串转换为16进制串 找到最长连续的\…
2019牛客多校第四场 I题 后缀自动机_后缀数组_求两个串de公共子串的种类数
目录 求若干个串的公共子串个数相关变形题 对一个串建后缀自动机,另一个串在上面跑同时计数 广义后缀自动机 后缀数组 其他:POJ 3415 求两个串长度至少为k的公共子串数量 @(牛客多校第四场 I题 string) 求若干个串的公共子串个数相关变形题 牛客这题题意大概是求一个长度为\(2e5\)的字符串有多少个不同子串,若\(s==t\)或\(s==rev(t)\)则认为子串\(s,t\)相同.我们知道回文串肯定和他的反串相同. 链接:传送门. 做法1: \(yx\)大佬秒出思路%%,对\(s…
2019 牛客多校第六场 B Shorten IPv6 Address
题目链接:https://ac.nowcoder.com/acm/contest/886/B 题目大意 给定一个 128 位的二进制 ip 地址,让你以 16 位一组,每组转成 16 进制,用冒号连接,并且可以选择一次且仅一次把 ip 数组中值连续为 0 的组删去(详情看样例),求如此操作后最短且字典序最小的 ip 字符串. 分析 bitset + sprintf. 代码如下 #include <bits/stdc++.h> using namespace std; #define INIT(…
[题解]Magic Line-计算几何(2019牛客多校第三场H题)
题目链接:https://ac.nowcoder.com/acm/contest/883/H 题意: 给你偶数个点的坐标,找出一条直线将这n个点分成数量相等的两部分 并在这条直线上取不同的两个点,表示这条直线 思路: 看见这题的第一反应是,先定一个相对这些点无限远的定点 然后取扫一遍,取一个其中一个点,找到一条能将这些点分成m个和m+1个点 最后将斜率微微倾斜,在直线上再取一点即可 最后疯狂WA,不知道是算法问题还是代码问题 听了大佬的讲解,发现自己真的蠢 最后的做法: 将这n个点按x坐标从小到…
[题解]Crazy Binary String-前缀和(2019牛客多校第三场B题)
题目链接:https://ac.nowcoder.com/acm/contest/883/B 题意: 给你一段长度为n,且只有 ‘0’ 和 ‘1’ 组成的字符串 a[0,...,n-1].求子串中 ‘0’ 和 ‘1’ 数目相等的最大长度,子序列中 ‘0’ 和 ‘1’ 数目相等的最大长度. 思路: 子序列的最大长度很容易想到,就是 ‘0’ 和 ‘1’ 的数量中最小的两倍 求子串的最大长度就用前缀和 将 ‘1’ 的价值设为1,‘0’ 的价值设为-1,用数组 cnt[i] 记录从 0 到 i 的前缀和…
2019牛客多校第六场H Pair(数位DP 多个数相关)题解
题意: 传送门 给你\(A,B,C\),要求你给出有多少对\((x, y)\)满足\(x\in [1,A],y\in [1,B]\),且满足以下任意一个条件:\(x \& y > C\)或者\(x \oplus y < C\). 思路: 数位\(DP\),以前做的数位\(DP\)只是和一个数相关,今天是和两个数相关,有点神奇.这里我开了九维,第\(i\)位\(x\)是\(j\),\(y\)是\(k\),对\(第一种\)情况,对\(第二种\)情况,\(x\)到达上界,\(y\)到达上界,…
2019 牛客多校第六场 D Move
题目链接:https://ac.nowcoder.com/acm/contest/886/D 题解摘自官方题解 题目大意 有 K 个体积相同的箱子,有 N 个体积相同或相异的物品,现要按照如下策略装箱: 一个一个箱子装,装到不能装了换下一个装. 对于每一个箱子,每次都从剩余物品中找最大的能装进箱子里的物品装进去,直到装不进为止. 求箱子的最小体积. 分析 首先这道题箱子容积和答案没有单调性. 比如:15 5 • 39 39 39 39 39 60 60 60 60 60 100 100 100…
Palindrome Mouse(2019年牛客多校第六场C题+回文树+树状数组)
目录 题目链接 题意 思路 代码 题目链接 传送门 题意 问\(s\)串中所有本质不同的回文子串中有多少对回文子串满足\(a\)是\(b\)的子串. 思路 参考代码:传送门 本质不同的回文子串肯定是要用回文树的啦- 在建好回文树后分别对根结点为\(0,1\)的子树进行\(dfs\),处理出以每个结点为根结点的子树的大小\(sz\)(也就是说有多少个回文子串以其为中心)和其\(dfs\)序,回文子串包含除了作为其他回文子串的中心被包含外,还可以不作为中心被包含,而这一部分则需要靠回文树的\(fai…