hihoCoder挑战赛23
hihoCoder挑战赛23
A.Emulator
题意
- 给一张图,有\(N(N \le 300)\)个点, 给出任意两点之间的最短路。
- 求最多可以去掉多少条边,使得任意两点的最短路长度不变。
思路
- 若一条边\((i,j)\)可以去掉,那么必然存在路径\(d(i, k) + d(k, j) = d(i, j)\)。
代码
B.Certificate
题意
- 已知有\(N(N \le 14)\)个变量,变量取值\(0\)或\(1\)。
- 已知\(f(0,0,\cdots,0),\cdots,f(1, 1,\cdots,1)\)的函数值。
- 对于每种输入\(x=(x_0,x_1,\cdots,x_n)\),求最少需要知道几个变量的值即可确定函数值。
- 举个例子:假设有两个变量,函数\(f(a,b)=a \verb'&' b\),那么对于\(f(x)=0\),我们只要知道其中一个变量为0即可确定函数值为0,否则我们需要知道两个变量是否都为1,才能确定函数值为1。
思路
- \(2^n\)枚举每个取或不取,在要取的变量所有取值中判断是否只会取到唯一值,即不同时取到0和1,这样说明对应的取值是可以判定函数值的,时间复杂度\(O(4^n)\),约为\(2 \times 10^8\),结合单点3000ms应该是可以过的。
- 显然官方题解肯定不是这么做的。
- 对于每个变量,显然只有3种状态,取0、取1或不取。这样做的复杂度为\(O(n \times 3^n)\)。
代码
C.Little Y's Tree
题意
- 给一棵树,有\(N(N \le 10^5)\)个点。
- 有\(Q(Q \le 10^5)\)次操作,每次删掉\(k\)条边,求\(k+1\)个连通块的最远点对的距离和,保证\(\sum{k} \le 10^5\)。
思路
- 一个前提:是要会线段树维护子树的最远点对。
- 删除一条边,相当于把子树的dfs序挖掉了一些区间,在剩余区间中求最远点对即可。
代码
hihoCoder挑战赛23的更多相关文章
- [题解]hihoCoder挑战赛18——题目1 神奇字符串
题目地址:http://hihocoder.com/problemset/problem/1264 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 我们说两个字符串是非常 ...
- hihocoder挑战赛26
某蒟蒻成功的·写出了T1并rank16...小岛的题目真难... 传送门:http://hihocoder.com/contest/challenge26 T1 如果你想要暴力枚举的话显然是不行的 如 ...
- hihoCoder挑战赛25
萌新第一次打hihoCoder的比赛有点慌 T1 T1并不是特别难想到dp就好做了 显而易见的是一个01背包问题 Code: #include <cstdio> #include < ...
- hihoCoder挑战赛11.题目4 : 高等理论计算机科学(LCA)
clj在某场hihoCoder比赛中的一道题,表示clj的数学题实在6,这道图论貌似还算可以... 题目链接:http://hihocoder.com/problemset/problem/1167 ...
- hihoCoder挑战赛34 B题(快速求第k轮冒泡排序的结果)
官方题解:https://media.hihocoder.com/contests/challenge34/tutorials-previewed.pdf 题目链接:http://hihocoder. ...
- 【hihoCoder挑战赛28 A】异或排序
[题目链接]:http://hihocoder.com/problemset/problem/1509 [题意] [题解] 每次找到相邻两个数的二进制形式中; 不同的最高位; 显然S在这一位必然是确定 ...
- hihoCoder挑战赛1 毁灭者问题
题目链接:http://hihocoder.com/problemset/problem/1034 数据结构题,由于每个魔法单位有着不同的回复速度和上限,所以不能根据吸收时间点进行查询和更新.但是如果 ...
- hihocoder挑战赛13A
#1191 : 小W与网格 描述 给定一个n*m的网格,左上角(1, 1),右下角(n, m). 小w在(i, j),他会从"上左下右"四个方向中选定两个不同但正交的方向,然后他只 ...
- hihoCoder挑战赛14 -1223
描述 给定n个关于X的不等式,问最多有多少个成立. 每个不等式为如下的形式之一: X < C X <= C X = C X > C X >= C 输入 第一行一个整数n. 以下 ...
随机推荐
- JAVA异常体系
1.异常体系 ----|Throwable 所有错误或异常的父类 --------|Error(错误) --------|Exception(异常)一般能通过代码处理 ------------|运行时 ...
- HDU 4548
题意: 给你一个区间,问你这个区间中的数既是素数又是美素数的数有多少个?美素数:首先这个数本身必须是素数并且它的各位数字的和也是素数; 如29,本身是素数, 而且2+9 = 11也是素数, 所以它是美 ...
- 编写一个小Servlet程序
1.编写一个java类,此类继承HttpServlet 创建完工程(见上一篇随笔:使用eclipse创建在myeclipse中运行的web工程),在src中新建一个包,包名字叫servlet:再新建一 ...
- Python开发入门与实战2-第一个Django项目
2.第一个Django项目 上一章节我们完成了python,django和数据库等运行环境的安装,现在我们来创建第一个django project吧,迈出使用django开发应用的第一步. 2.1.创 ...
- sql 之CONCAT用法
这是java交流群里一个网友面试的时候发过来的笔试题,我觉得题目的假定条件应该是某个字母对应的最小数字只有一个. 思路第一步是查出一个子表s1: select name,min(number) fro ...
- About Closure
Closure被翻译为闭包,C++11引入了Lambda表达式支持Closure,JavaScript支持Closure,Objective C支持Blocks,他们都是Closure,名字各有不同, ...
- 学习js之类的使用
<script language="javascript">function Person(){ }Person.prototype={ name:null ...
- ios页面间传递参数四种方式
ios页面间传递参数四种方式 1.使用SharedApplication,定义一个变量来传递. 2.使用文件,或者NSUserdefault来传递 3.通过一个单例的class来传递 4.通过Dele ...
- SwipeRefreshLayout
也许之前下拉刷新你可能会用到一些第三方开源库,如PullToRefresh, ActionBar-PullToRefresh.XlistView等 但现在已经有官方的组件了---SwipeRefres ...
- Apache 的启动/重启/停止
Task: Start Apache 2 Server /启动apache服务 # /etc/init.d/apache2 startor$ sudo /etc/init.d/apache2 star ...