HYNB Round 8: 2016 ICPC Amritapuri Regionals

A - Tim and BSTs

做法

  • 经典的树 DP 问题。
  • \(dp[u][i]\) 表示考虑以 u 为根子树,u 的 rank 为 i 方案数。
  • 关于 \(dp[u][]\) 的计算,枚举左子树有几个比根小的,枚举右子树有几个数字比根小。合并两棵子树的复杂度为 \(O(sz_1 * sz_2)\),因此可以 \(O(n^2)\) 计算答案。

B - A Historic Discussion

做法

  • 每次把一个集合分裂成两个大小尽可能相等的集合放到两边
  • 次数为把n除2上取整变成1需要的次数

C - Influence on Social media

做法

  • 预处理所有合法的数字,合法的数字一定是 \(p^k\) 形式,其中 \(k+1\) 为质数。
  • 注意排序输出。

E - Black Money Island

做法

  • 问题转化为给一个图,有白边和黑边,问是否存在恰有 k 条黑边的生成树。
  • 第一眼带权二分......... 有点憨憨。
  • 口胡一个引理:对于任意一棵包含黑边数最少的生成树 \(T_1\),存在一棵包含极多黑边的生成树 \(T_2\),使得 \(T_1\) 中的黑边是 \(T_2\) 中黑边的子集。
  • 口胡一个证明:考虑 \(T_1\) 中黑色的非树边,逐条添加,加上后得到一个环,如果环上存在白边,删除白边,如果不存在,删除刚添上的黑边。
  • 做一棵包含黑边数最少的生成树 \(T_1\),保留下 \(T_1\) 中所有黑边,并查集维护点连通性,逐条添加其它黑边。

F - Notes and GPS Chips

做法

  • 构造第一种芯片的生成函数:\(f(x)=\sum_{i=1}^{\infty}i^2x^i=\frac{x(1+x)}{(1-x)^3}\)
  • 构造第二种芯片的生成函数:\(g(x)=\sum_{i=1}^{\infty}3i(i+1)x^i=\frac{6x}{(1-x)^3}\)
  • 于是答案为\((f(x))^A*(g(x))^B\)里\(x^N\)的系数
  • 把\(\frac{6^B(1+x)^Ax^{A+B}}{(1-x)^{3A+3B}}\)里的\((1+x)^A\)拆开枚举一下,剩下是个组合数,复杂度\(O(A+B)\)
  • 贼基本的组合数求蒙了导致没写出来。。。
  • 至今不知道题意怎么读出来的p序列前A个是第一种芯片后B个是第二种芯片

G - Hawala Arrests

做法

  • 考虑树是根链的 case,问题是个经典的序列上贪心问题:序列上,选择极少的点,使得每个区间至少包含一个点。
  • 把连通块的根当成右端点即可。
  • 不会证明。

H - Netcoin Verification


I - Mancunian Hoards Black Money

做法

从大到小考虑,可以拿的物品,就拿,不拿的话,拿之后所有的物品都凑不齐。


J - Bob vs ATM

做法

  • 根据括号序列建树。
  • 删除一段相当于删除子树,树上删边游戏。

K - Paint for Vernon

HYNB Round 8: 2016 ICPC Amritapuri Regionals的更多相关文章

  1. 2016 ICPC总结

    2016 ICPC总结 九月份开学,开始知识点的补充,刚开始的几周都在刷acmsteps,十月开始进行专题性的学习,首先进行的数据结构,给自己定的计划,十一月前看完数据结构,刚开始的时候看的都是以前的 ...

  2. 2016 ICPC Mid-Central USA Region J. Windy Path (贪心)

    比赛链接:2016 ICPC Mid-Central USA Region 题目链接:Windy Path Description Consider following along the path ...

  3. HYNB Round 15: PKU Campus 2019

    HYNB Round 15: PKU Campus 2019 C. Parade 题意 将平面上n*2个点安排在长度为n的两行上. 做法 首先可以忽略每个点之间的影响,只用考虑匹配即可 然后把所以点归 ...

  4. 2016 ICPC青岛站---k题 Finding Hotels(K-D树)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5992 Problem Description There are N hotels all over ...

  5. 2016 ICPC北京站现场赛总结(再度流水账)

    其他的都先不说,北大的未名湖真的美! 虽然感觉北大其他地方都有些破旧之感,但是未名湖附近真的值得称赞. 在去北京之前就听说北京温度很低,不过是干冷,果不其然.北京不冷,就是嘴唇太干了,不喝水真的受不了 ...

  6. [Google Codejam] Round 1A 2016 - The Last Word

    [Problem Description] Problem On the game show The Last Word, the host begins a round by showing the ...

  7. 2021ICPC网络赛第一场部分题解-The 2021 ICPC Asia Regionals Online Contest (I)

    写在前面 本来应该6题的,结果不知道哪个铸币发了H的clar,当即把我们的思路转向三维几何上.当时我们还在想这三维计算几何的正确率有点太高了还在感叹ICPC选手的含金量,直到赛后我才知道这H题的铸币出 ...

  8. 2016 ICPC大连站---F题 Detachment

    题意:输入一个x,将x拆分成一些小的数(这些数不能相同,即x=a1+a2+......   ai!=aj when i!=j),然后这些数相乘得到一个成积(s=a1*a2*......),求最大的乘积 ...

  9. 2016 ICPC China-Final 现场赛总结

    距离比赛结束快有一个礼拜了才抽出时间来写这篇总结.今年比赛打了也有5场了(4场区域赛+1场省赛),也取得了不错的成绩(区域赛两银),总的来说第一年就取得这成绩还是挺高兴的.我们队,我自己都渐渐的趋于成 ...

随机推荐

  1. NOI2019赛前两周被吊打记录

    7.1 T1看了半天发现会个暴力FWT,然后突然返发现随便容斥一下就好了 T2猜了个只有13和23的,结果打个表发现伪了,然后标号不只一种连搜索都写错了,也没想过可以轮廓线dp,菜哭了o(╥﹏╥)o ...

  2. NX二次开发-UFUN读取表格注释内容UF_TABNOT_ask_cell_text

    NX11+VS2013 #include <uf.h> #include <uf_ui.h> #include <uf_tabnot.h> #include < ...

  3. sql语句中----删除表数据drop、truncate和delete的用法(转)

    转载于:http://www.cr173.com/html/40708_1.html 说到删除表数据的关键字,大家记得最多的可能就是delete了 然而我们做数据库开发,读取数据库数据.对另外的两兄弟 ...

  4. WebStorm+Node.js开发环境的配置

    1 下载地址:  webstorm:http://www.jetbrains.com/webstorm node.js:https://nodejs.org/download/ 2 安装node.js ...

  5. 20140329 自由 youtube

    1.人生入戏,全靠演技:人生苦短,必须性感 2.youtube修改用户名 3.使用代理软件修改了IE的代理导致上不了网

  6. ubuntu 删除 mysql (转)

    1 sudo apt-get autoremove --purge mysql-server-5.0 2 sudo apt-get remove mysql-server 3 sudo apt-get ...

  7. linux下使用scp在服务器之间拷贝文件 (转载)

    CentOS, 本地服务器,ip: 192.168.1.111Ubuntu, 远程服务器,ip: 192.168.1.112 1.拷贝远程服务器的目录到本地服务器远程服务器192.168.1.112上 ...

  8. adb shell 查看内存信息

    1.根据包名来查看指定的APP指定数据adb shell "top | grep com.xxx.xxx" 由于这样打印出来的数据没有参数名,可以参考这个命令来看:adb shel ...

  9. Balking Pattern不需要就不用做

    word自动保存功能,如果文档被修改了,后台线程每隔一段时间会自动执行保存功能,但是如果用户在自动保存之前用Ctrl+S手动保存呢?自动保存还会执行吗?答案是不会,因为这个操作时不需要重复做的. pu ...

  10. 2019牛客暑期多校训练营(第七场) E 线段树+离散化

    题目传送门 题意:按照一定的公式给出若干个$<l,r>$,每次往一个序列中加上l到r的数字,并输出中位数. 思路:需要将每个$区间$离散化,比如把$[1,2]$变成$[1,3)$,也就是$ ...