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的更多相关文章

  1. [题解]hihoCoder挑战赛18——题目1 神奇字符串

    题目地址:http://hihocoder.com/problemset/problem/1264 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 我们说两个字符串是非常 ...

  2. hihocoder挑战赛26

    某蒟蒻成功的·写出了T1并rank16...小岛的题目真难... 传送门:http://hihocoder.com/contest/challenge26 T1 如果你想要暴力枚举的话显然是不行的 如 ...

  3. hihoCoder挑战赛25

    萌新第一次打hihoCoder的比赛有点慌 T1 T1并不是特别难想到dp就好做了 显而易见的是一个01背包问题 Code: #include <cstdio> #include < ...

  4. hihoCoder挑战赛11.题目4 : 高等理论计算机科学(LCA)

    clj在某场hihoCoder比赛中的一道题,表示clj的数学题实在6,这道图论貌似还算可以... 题目链接:http://hihocoder.com/problemset/problem/1167 ...

  5. hihoCoder挑战赛34 B题(快速求第k轮冒泡排序的结果)

    官方题解:https://media.hihocoder.com/contests/challenge34/tutorials-previewed.pdf 题目链接:http://hihocoder. ...

  6. 【hihoCoder挑战赛28 A】异或排序

    [题目链接]:http://hihocoder.com/problemset/problem/1509 [题意] [题解] 每次找到相邻两个数的二进制形式中; 不同的最高位; 显然S在这一位必然是确定 ...

  7. hihoCoder挑战赛1 毁灭者问题

    题目链接:http://hihocoder.com/problemset/problem/1034 数据结构题,由于每个魔法单位有着不同的回复速度和上限,所以不能根据吸收时间点进行查询和更新.但是如果 ...

  8. hihocoder挑战赛13A

    #1191 : 小W与网格 描述 给定一个n*m的网格,左上角(1, 1),右下角(n, m). 小w在(i, j),他会从"上左下右"四个方向中选定两个不同但正交的方向,然后他只 ...

  9. hihoCoder挑战赛14 -1223

    描述 给定n个关于X的不等式,问最多有多少个成立. 每个不等式为如下的形式之一: X < C X <= C X = C X > C X >= C 输入 第一行一个整数n. 以下 ...

随机推荐

  1. 数据结构-bubble sort

    #gcc version 4.5.3 (GCC) #include <iostream> #include <algorithm> template <typename ...

  2. Oracle中varchar,varchar2,nvarchar,nvarchar2的区别

    --varchar,varchar2 联系:1.varchar/varchar2用于存储可变长度的字符串比如varchar(20),存入字符串'abc',则数据库中该字段只占3个字节,而不是20个字节 ...

  3. arm裸机驱动错误总结

    错误001:

  4. [流媒体]live555简介(转)

    live555简介 Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等的支持.Live555实现 了对多种音视频编码 ...

  5. JS小问题总结

    1. 超链接中href=#与href=javascript:void(0) 的区别  #包含了一个位置信息.默认的锚是#top 也就是网页的上端:而javascript:void(0)   仅仅表示一 ...

  6. MongoDB C#驱动中Query几个方法 (转)

    Query.All("name", "a", "b");//通过多个元素来匹配数组 Query.And(Query.EQ("nam ...

  7. vega prime 1.2 (视景仿真)

    Vega Prime 1.2 (视景仿真) MPI的视景仿真渲染工具Vega是世界上领先的应用于实时视景仿真.声音仿真和虚拟现实等领域的软件环境,它用来渲染战场仿真.娱乐.城市仿真.训练模拟器和计算可 ...

  8. Logger.getLogger()和 LogFactory.getLog()

    Logger.getLogger()和LogFactory.getLog()的区别:    1.Logger.getLogger()是使用log4j的方式记录日志:2.LogFactory.getLo ...

  9. BZOJ 1954 The xor-longest Path

    问题转化为一些数里面选两个数异或和最大. #include<iostream> #include<cstdio> #include<cstring> #includ ...

  10. 产生n位元的所有格雷码

    原文链接:http://blog.csdn.net/beiyeqingteng/article/details/7044471 问题:产生n位元的所有格雷码. 格雷码(Gray Code)是一个数列集 ...