开场写easy(有预感要FST)

然后medium就卡住了。

我只知道$n$个点的生成树个数是$n^{n-2}$

接下来直接狗带……

$Problem 250pts$

水题,直接枚举然后记录答案(我大概是因为精度问题被HACK了)

  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define rep(i, a, b) for (int i(a); i <= (b); ++i)
  6. #define dec(i, a, b) for (int i(a); i >= (b); --i)
  7. #define MP make_pair
  8. #define fi first
  9. #define se second
  10.  
  11. typedef long long LL;
  12. typedef pair <int, int> PII;
  13. typedef pair <PII, PII> PIIII;
  14.  
  15. const double eps = 1e-12;
  16.  
  17. class MinimizeAbsoluteDifferenceDiv1 {
  18. public:
  19. vector<int> findTuple(vector<int> x) {
  20.  
  21. PIIII ans = MP(MP(1e9, 1e9), MP(1e9, 1e9));
  22.  
  23. double ff = 1e9;
  24. rep(i, 0, 4){
  25. rep(j, 0, 4){
  26. if (i == j) continue;
  27. rep(k, 0, 4){
  28. if (k == i || k == j) continue;
  29. rep(l, 0, 4){
  30. if (l == i || l == j || l == k) continue;
  31. double aa = fabs(1.00 * x[i] / x[j] - 1.00 * x[k] / x[l]);
  32.  
  33. if (aa < ff - eps){
  34. ff = aa;
  35. ans = MP(MP(i, j), MP(k, l));
  36. }
  37. }
  38. }
  39. }
  40. }
  41.  
  42. vector <int> ret;
  43. ret.push_back(ans.fi.fi);
  44. ret.push_back(ans.fi.se);
  45. ret.push_back(ans.se.fi);
  46. ret.push_back(ans.se.se);
  47. return ret;
  48. }
  49. };

$Problem 500Pts$

给定一个边集,求符合条件的生成树的个数(生成树的边必须包含这个边集,点数 <= $1000$)

比赛的时候差一点就推出公式乐……不知道为什么

设连通块个数为$s$,每个连通块的点数的乘积为$m$,

那么答案为$mn^{s-2}$

  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define rep(i, a, b) for (int i(a); i <= (b); ++i)
  6. #define dec(i, a, b) for (int i(a); i >= (b); --i)
  7. #define MP make_pair
  8. #define fi first
  9. #define se second
  10.  
  11. typedef long long LL;
  12.  
  13. const int N = 1e3 + 10;
  14. const LL mod = 987654323;
  15.  
  16. class BuildingSpanningTreesDiv1 {
  17. public:
  18.  
  19. int father[N], c[N];
  20.  
  21. inline LL Pow(LL a, LL b, LL mod){
  22. LL ret(1);
  23. for (; b; b >>= 1, (a *= a) %= mod) if (b & 1) (ret *= a) %= mod;
  24. return ret;
  25. }
  26.  
  27. int getfather(int x){
  28. return father[x] ? father[x] = getfather(father[x]) : x;
  29. }
  30.  
  31. int getNumberOfSpanningTrees(int n, vector <int> a, vector <int> b) {
  32. int m = (int)a.size();
  33.  
  34. memset(father, 0, sizeof father);
  35.  
  36. int block = n;
  37. rep(i, 0, m - 1){
  38. int x = a[i], y = b[i];
  39. int fx = getfather(x), fy = getfather(y);
  40. if (fx == fy) return 0;
  41.  
  42. --block;
  43. father[fx] = fy;
  44. }
  45.  
  46. memset(c, 0, sizeof c);
  47. rep(i, 1, n){
  48. int x = getfather(i);
  49. ++c[x];
  50. }
  51.  
  52. vector <LL> v;
  53. rep(i, 1, n) if (c[i]) v.push_back(c[i]);
  54.  
  55. if (block == 1) return 1;
  56. LL ans = Pow((LL)n, (LL)block - 2, mod);
  57. for (auto u : v) ans = ans * u % mod;
  58. return (int)ans;
  59. }
  60. };

SRM 733 Div 1 爆零记的更多相关文章

  1. Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals)爆零记

    昨晚一个瓜皮说今晚有cf,听说是晚间场,我瞅了一眼,娃,VK Cup,上分的好机会,看着比赛时间就有点心酸了,0:35,当时一直在纠结要不要打的问题,当时想着应该不难吧,要不打一下吧,要不还是看看题先 ...

  2. HNOI2019 爆零记

    HNOI2019爆零记 day \(-inf\) ~ day \(0\) 开学一周之后才停的课,停课之后就开始每天被包菜.我三月份几乎没有更博,就是因为每天都被虐的自闭了. day \(0\) 本来是 ...

  3. PKUWC 2019&WC 2019爆零记

    PKUWC 2019&WC 2019爆零记 毕竟过了很久了,杂七杂八的东西就不写了,并且除成绩之外的内容不保证其正确性. Day1 T1:看到这道题很舒服啊,枚举top序算合法图的数量,状压D ...

  4. 雅礼集训1-9day爆零记

    雅礼集训1-9day爆零记 先膜一下虐爆我的JEFF巨佬 Day0 我也不知道我要去干嘛,就不想搞文化科 (文化太辣鸡了.jpg) 听李总说可以去看(羡慕)各路大佬谈笑风声,我就报一个名吧,没想到还真 ...

  5. [日常] NOIWC 2018爆零记

    开个坑慢慢更(逃 (然而没准会坑掉?) day 0 大概 $8:30$ 就滚去雅礼了qwq 过去的时候发现并没有人...进报到处楼门的时候还被强行拍照围观了一波OwO 然后就领了HZ所有人的提包和狗牌 ...

  6. CTS&&APIO2019爆零记

    如果你只好奇测试相关请跳至day 2 day 3 day 6 scoi 2019 之后 ​ 由于实力问题,省选的时候排名在三十多,显然是没有进队.不过可能是受过的打击比较多,所以还没有特别颓废,甚至连 ...

  7. NOIOL #2 爆零记

    没有假是真的爆零了,原因:万恶的文操.不管怎样写份题解吧. T1: 做题经历:看了下题发现:不是 edu 的原题吗?兴奋地拿出赛中写的程序搞上去. 大约比赛开始 30min 后开始发现 \(k\) 可 ...

  8. NOIp 0916 爆零记

    题目来自神犇chad 上次爆零是说着玩,这次真的爆零了QAQ 好吧貌似是TYVJ的模拟赛打多了..一直按照TYVJ的格式提交的压缩包.. 然后莫名其妙就AK了hhh 来的时候迟到了半小时,昨晚痛苦的补 ...

  9. GDKOI2016 爆零记

    滚粗了非常伤心>_< day 0 老师通知能够去试机,于是非常愉快地将近三点半左右的时间到了二中.然后发现老师已经准备关机房了,说我怎么才来.. .喂喂喂不是说三点半到五点的么 晚上本来想 ...

随机推荐

  1. 剑指Offer - 九度1386 - 旋转数组的最小数字

    剑指Offer - 九度1386 - 旋转数组的最小数字2013-11-24 01:57 题目描述: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转 ...

  2. 【APUE】Chapter8 Process Control

    这章的内容比较多.按照小节序号来组织笔记的结构:再结合函数的示例带代码标注出来需要注意的地方. 下面的内容只是个人看书时思考内容的总结,并不能代替看书(毕竟APUE是一本大多数人公认的UNIX圣经). ...

  3. 一个初学者的辛酸路程-前端js

    内容回顾: 1.CSS的基本概念: 层叠样式表. 2.CSS的三种书写方式 ① 行内样式 <div style="color: red;">sdfdsf</div ...

  4. Python全栈工程师

    ParisGabriel       Python 入门基础   print(“hello world”)变量 : 存储信息的,日后被调用.修改操作常量: 固定不变的量,字母大写命名规则:1. 字母数 ...

  5. springbootday06 mysql

    一.MySql 1. 数据库概述 数据库( Database )是按照数据结构来组织.存储和管理数据的仓库 . 数据按照特定的格式存储起来,用户可以通过SQL (Structured Query La ...

  6. django的F和Q对象

    F表达式和Q表达式: # 示例模型如下 class Book(models.Model): """图书模型""" name = models ...

  7. ZOJ 3717 Balloon ( TLE )

    正解2-SAT. 我用DLX想搜一搜的,结果TLE了…… 没什么遗憾,最起码我尝试过了. 扔个代码留作纪念. #include <cstdio> #include <cstring& ...

  8. MVC4.0 bug 神奇的是事情 bool 值变成了 onclick ,非常奇怪的

    foreach (var item in ViewBag.PhotoGroupList) { // 这里很奇怪 item.IS_DISPLAY  是布尔值 如果直接写 @item.IS_DISPLAY ...

  9. 【bzoj4146】[AMPPZ2014]Divisors 数论

    原文地址:http://www.cnblogs.com/GXZlegend/p/6801411.html 题目描述 给定一个序列a[1],a[2],...,a[n].求满足i!=j且a[i]|a[j] ...

  10. WebStorm 2017.1.2 汉化破解

    第一步:下载 官方地址: http://www.jetbrains.com/webstorm/ 第二步:破解 安装后第一次打开会弹出一个窗口,选择“License server”,在输入框输入下面的网 ...