终于打了一场BC。。。
来源:互联网 发布:差评师不发货淘宝处罚 编辑:程序博客网 时间:2024/06/10 14:52
迟到了20分钟。。。母上一定要拉我去走路。。。
这还是我高速走路的结果。。。_(:з」∠)_
A题貌似15分钟以后才改对?那我算是公平竞争咯
写完等了半天不敢交。。。我也不知道我在想啥 _(:з」∠)_
B题一下子就想错了。。。WA了一遍。。。
再想了想A了。。。有个大爷跟我讲过这叫扫把树 ╮( ̄▽ ̄)╭
C题根本不会。。。去问了上面说的这个大爷 www
应该算是把我点拨会了。。。
然后!我是看着21:00打程序的!!!
我交上去结果 Out of submit time !!!
WTF!!!我在哪儿都没看见最后15分钟不能交啊!!!
除了右上角的countdown让我觉得怪怪的。。。
然而我以为它是错的啊!!!
(因为我比赛之前开着countdown页面它走时间一点都不准。。。
怪我咯?。。。_(:з」∠)_
转一下题解咯。。。其实出题人是比我低一届的学弟啊。。。
已经预录了。。。Orzzzzzzzzzzzzzzzzzzzzzzzz
Rikka with Graph
如果连上1-n的边,最短距离就是1。所以所有情况下最短距离都是1。
考虑方案数,如果本来没有1-n的边,那么只能连1-n,方案数为1。否则怎么连都可以,方案数是2n(n−1)。
Rikka with Tree
显然一棵树是独特的当且仅当任意处于每一个深度的点数是"1 1 1 1 ... 1 1 x"。所以直接DFS一下求出每一个点到根的距离然后判断一下就好了 。
Rikka with Graph II
如果图是联通的,可以发现如果存在哈密顿回路,一定有一条哈密顿回路的一端是度数最小的点,从哪个点开始直接DFS搜索哈密顿回路复杂度是 O(n)的。要注意先判掉图不连通的情况。
Rikka with Tree II
把所有点按照深度排序,然后枚举深度最深的点和次深的点。假设深度次深的点是第i深的,那么这个值的贡献就是(2n−1−n)2(i−1)。
这样直接统计复杂度是O(n2)的。可以发现当n很大的时候,一个方案的贡献可以近似为2(i−n−1),而题目只需要保留六位小数,所以当i比 较小的时候贡献可以忽略不计,i只要枚举到n−60左右就肯定可以通过这题了。
Rikka with Game
听说jiry_2这个ID加上1004这个题号会降低AC(胡)率,不知道是不是真的。于是今天就来逼真的演一把给大家送AK送温暖咯..
考虑这样的DP,令dpi,j为以i为根的子树,用了j次外交关系的最优值。然后每次合并两个部分l个r的时候,我们用两重for循环, 一边枚举到min(sizel,k),一遍枚举到min(sizer,k),然后合并。
这个做法其实是O(nk)的..
怎么证明复杂度,分这两个步骤:
1.我们先考虑所有合并之后的部分大小介于[k,2k)之间的合并过程,我们把这些合并过程都做了。这样每一个合并的部分一定是把一个树形子图 给合并到一起。如果这个子图的大小是S,那么这个子图中任意两个点在它们的LCA上产生了1的贡献。所以合并这个子图的复杂度是O(S2)的, 那么每一个点产生的贡献就是O(S)即O(k)的,所以这个部分的复杂度是O(nk)。
2.考虑剩下的合并部分,这样合并的时候必定有一个部分的大小是大于等于k的,这样合并之后另一个部分相当于删掉了,因为在接下来的合并过 程中,这一部分并没有再产生贡献。所以此时删掉一个点的复杂度是O(k),所以这个部分的复杂度还是O(nk)的。
所以这个算法是O(nk)的。
当然也有一些非常显然是O(nk)的算法..这儿就不多说了..考场上似乎也没有几个胆子大的小哥暴力强上这题..还是挺遗憾的。
我都演的那么逼真了!怎么AK的还是这么少!这不科学!
------------------------------------------------------------------------------------------------------------------------------------------------------
补一句。。。为什么 Final Test 一直都是100% ?? _(:з」∠)_
Bestcoder 还可以吧。。。难度什么的是出题人的关系。。。
为什么不告诉别人最后15分钟不能submit呢。。。_(:з」∠)_
还有据说没公开rating算法?这个不太好吧。。。
- 终于打了一场BC。。。
- 苏州终于下了一场大雨
- 大病一场,终于回北京了。
- 【BC史上最大灾难】一场被我搞砸了的BC
- 一场BC的台前幕后
- 火箭今天终于赢了一场象样的比赛~~~~~
- 下一场怎么打——进八强了!
- 武汉终于下了一场久违的小雨了,偶也跟着生了一场久违的小病
- 第二次打BC
- 好累啊,终于写完了,去打一盘DOTA
- 今天经过一场深有体会的谈话-终于决定了我2012的方向
- 生了一场闷气
- 看来空欢喜了一场
- 历了一场生离死别
- 第一次打bc BestCoder Round #84
- 打一场架需要如此麻烦吗?
- 好想酣畅的打一场球
- 在鱼池终于挖到0.01的Zcash(ZEC)了,目前正在打款
- String和StringBuffer
- Android笔记二(service)
- iOS开发之有趣的UI —— 数据转模型及MVC设计模式
- android读写sd卡
- 对眼睛好的颜色
- 终于打了一场BC。。。
- 矩阵中的路径。请设计一条函数,用来判断一个矩阵中是否存在一条包含某个字符串所有字符的路径。
- [leetcode]Happy Number C语言
- poj 1102 LC-Display(模拟)
- 初识JAVA3(重载、单子模式)
- Java数据结构面试题
- pat(B) 1010. 一元多项式求导
- C语言基础
- od、hexdump、xxd---进制查看工具