SRM 733 Div 1 爆零记
开场写easy(有预感要FST)
然后medium就卡住了。
我只知道$n$个点的生成树个数是$n^{n-2}$
接下来直接狗带……
$Problem 250pts$
水题,直接枚举然后记录答案(我大概是因为精度问题被HACK了)
#include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for (int i(a); i <= (b); ++i)
#define dec(i, a, b) for (int i(a); i >= (b); --i)
#define MP make_pair
#define fi first
#define se second typedef long long LL;
typedef pair <int, int> PII;
typedef pair <PII, PII> PIIII; const double eps = 1e-12; class MinimizeAbsoluteDifferenceDiv1 {
public:
vector<int> findTuple(vector<int> x) { PIIII ans = MP(MP(1e9, 1e9), MP(1e9, 1e9)); double ff = 1e9;
rep(i, 0, 4){
rep(j, 0, 4){
if (i == j) continue;
rep(k, 0, 4){
if (k == i || k == j) continue;
rep(l, 0, 4){
if (l == i || l == j || l == k) continue;
double aa = fabs(1.00 * x[i] / x[j] - 1.00 * x[k] / x[l]); if (aa < ff - eps){
ff = aa;
ans = MP(MP(i, j), MP(k, l));
}
}
}
}
} vector <int> ret;
ret.push_back(ans.fi.fi);
ret.push_back(ans.fi.se);
ret.push_back(ans.se.fi);
ret.push_back(ans.se.se);
return ret;
}
};
$Problem 500Pts$
给定一个边集,求符合条件的生成树的个数(生成树的边必须包含这个边集,点数 <= $1000$)
比赛的时候差一点就推出公式乐……不知道为什么
设连通块个数为$s$,每个连通块的点数的乘积为$m$,
那么答案为$mn^{s-2}$
#include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for (int i(a); i <= (b); ++i)
#define dec(i, a, b) for (int i(a); i >= (b); --i)
#define MP make_pair
#define fi first
#define se second typedef long long LL; const int N = 1e3 + 10;
const LL mod = 987654323; class BuildingSpanningTreesDiv1 {
public: int father[N], c[N]; inline LL Pow(LL a, LL b, LL mod){
LL ret(1);
for (; b; b >>= 1, (a *= a) %= mod) if (b & 1) (ret *= a) %= mod;
return ret;
} int getfather(int x){
return father[x] ? father[x] = getfather(father[x]) : x;
} int getNumberOfSpanningTrees(int n, vector <int> a, vector <int> b) {
int m = (int)a.size(); memset(father, 0, sizeof father); int block = n;
rep(i, 0, m - 1){
int x = a[i], y = b[i];
int fx = getfather(x), fy = getfather(y);
if (fx == fy) return 0; --block;
father[fx] = fy;
} memset(c, 0, sizeof c);
rep(i, 1, n){
int x = getfather(i);
++c[x];
} vector <LL> v;
rep(i, 1, n) if (c[i]) v.push_back(c[i]); if (block == 1) return 1;
LL ans = Pow((LL)n, (LL)block - 2, mod);
for (auto u : v) ans = ans * u % mod;
return (int)ans;
}
};
SRM 733 Div 1 爆零记的更多相关文章
- Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals)爆零记
昨晚一个瓜皮说今晚有cf,听说是晚间场,我瞅了一眼,娃,VK Cup,上分的好机会,看着比赛时间就有点心酸了,0:35,当时一直在纠结要不要打的问题,当时想着应该不难吧,要不打一下吧,要不还是看看题先 ...
- HNOI2019 爆零记
HNOI2019爆零记 day \(-inf\) ~ day \(0\) 开学一周之后才停的课,停课之后就开始每天被包菜.我三月份几乎没有更博,就是因为每天都被虐的自闭了. day \(0\) 本来是 ...
- PKUWC 2019&WC 2019爆零记
PKUWC 2019&WC 2019爆零记 毕竟过了很久了,杂七杂八的东西就不写了,并且除成绩之外的内容不保证其正确性. Day1 T1:看到这道题很舒服啊,枚举top序算合法图的数量,状压D ...
- 雅礼集训1-9day爆零记
雅礼集训1-9day爆零记 先膜一下虐爆我的JEFF巨佬 Day0 我也不知道我要去干嘛,就不想搞文化科 (文化太辣鸡了.jpg) 听李总说可以去看(羡慕)各路大佬谈笑风声,我就报一个名吧,没想到还真 ...
- [日常] NOIWC 2018爆零记
开个坑慢慢更(逃 (然而没准会坑掉?) day 0 大概 $8:30$ 就滚去雅礼了qwq 过去的时候发现并没有人...进报到处楼门的时候还被强行拍照围观了一波OwO 然后就领了HZ所有人的提包和狗牌 ...
- CTS&&APIO2019爆零记
如果你只好奇测试相关请跳至day 2 day 3 day 6 scoi 2019 之后 由于实力问题,省选的时候排名在三十多,显然是没有进队.不过可能是受过的打击比较多,所以还没有特别颓废,甚至连 ...
- NOIOL #2 爆零记
没有假是真的爆零了,原因:万恶的文操.不管怎样写份题解吧. T1: 做题经历:看了下题发现:不是 edu 的原题吗?兴奋地拿出赛中写的程序搞上去. 大约比赛开始 30min 后开始发现 \(k\) 可 ...
- NOIp 0916 爆零记
题目来自神犇chad 上次爆零是说着玩,这次真的爆零了QAQ 好吧貌似是TYVJ的模拟赛打多了..一直按照TYVJ的格式提交的压缩包.. 然后莫名其妙就AK了hhh 来的时候迟到了半小时,昨晚痛苦的补 ...
- GDKOI2016 爆零记
滚粗了非常伤心>_< day 0 老师通知能够去试机,于是非常愉快地将近三点半左右的时间到了二中.然后发现老师已经准备关机房了,说我怎么才来.. .喂喂喂不是说三点半到五点的么 晚上本来想 ...
随机推荐
- 剑指Offer - 九度1384 - 二维数组中的查找
剑指Offer - 九度1384 - 二维数组中的查找2013-11-23 23:23 题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个 ...
- 【Dual Support Vector Machine】林轩田机器学习技法
这节课内容介绍了SVM的核心. 首先,既然SVM都可以转化为二次规划问题了,为啥还有有Dual啥的呢?原因如下: 如果x进行non-linear transform后,二次规划算法需要面对的是d`+1 ...
- selenium + python之元素定位
selenium对web各元素的操作首先就要先定位元素,定位元素的方法主要有以下几种:通过id定位元素:find_element_by_id("id_vaule")通过name定位 ...
- python学习总结---函数使用 and 生成器
# 函数使用 ### 生成器 - 使用场景 在使用列表时,很多时候我们不会一下子使用全部数据,通常都是一个一个使用,但是当数据量比较大的时候,定义一个大的列表将会是内容使用突然增大.为了解决此类问题, ...
- ssh.sh_for_ubuntu1204
#!/bin/bash sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/g' /etc/ssh/sshd_config s ...
- 1086 Tree Traversals Again (25 分)(二叉树的遍历)
用栈来模拟一棵二叉树的先序遍历和中序遍历过程,求这棵二叉树的后序遍历 由题棵知道:push是先序遍历 pop是中序遍历 #include<bits/stdc++.h> using name ...
- 网络编程--广播&组播
广播 1.广播地址 如果用{netid, subnetid, hostid}( {网络ID,子网ID,主机ID})表示IPv4地址.那么有四种类型的广播地址,我们用-1表示所有比特位均为1的字段: 1 ...
- 设计模式之单例模式与工厂模式的Python实现(一)
1. 单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上 ...
- 【C++ 拾遗】C++'s most vexing parse
C++'s most vexing parse 是 Scott Meyers 在其名著<Effective STL>中创造的一个术语. Scott 用这个术语来形容 C++ 标准对于 de ...
- [codeforces438E]The Child and Binary Tree
[codeforces438E]The Child and Binary Tree 试题描述 Our child likes computer science very much, especiall ...