首页 > TAG信息列表 > Yinku

Codeforces - 1194B - Yet Another Crosses Problem - 水题

https://codeforc.es/contest/1194/problem/B 好像也没什么思维,就是一个水题,不过蛮有趣的。意思是找缺黑色最少的行列十字。用O(n)的空间预处理掉一维,然后用O(n)的时间根据另一维计算出答案。 #include<bits/stdc++.h> using namespace std; typedef long long ll; int n, m; str

Codeforces - 1189B - Number Circle - 贪心

https://codeforc.es/contest/1189/problem/B 优先考虑最大的元素怎么构造。拿两个次大的围着他就很好,但是其他的怎么安排呢?就直接降序排列就可以了。 a数组还开错了。 #include<bits/stdc++.h> using namespace std; typedef long long ll; int n; int a[100005]; int main() {

洛谷 - P1631 - 序列合并 - 堆

https://www.luogu.org/problemnew/show/P1631 序列a中每个数首先都和序列b中的最小元素配对(虽然好像不是很必要这么早插进来?) 每次从堆顶取出最小的和输出答案,然后尝试为这个ai配对下一个bj,要是没有的话……说明都是他一个人贡献完了。 #include<bits/stdc++.h> using namespace st

SCUTOJ - 362 - CC的族谱 - 树上倍增

https://scut.online/p/362 和LCA差不多,注意开大点不怕浪费。 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int MAXN=1e5; int head[MAXN+1],nxt[2*MAXN+1],to[2*MAXN+1]; int top; void add_edge(int u,int v){ nxt[top]=head[u]; to[to

模板 - 左偏树 + 并查集

这两个经常混在一起用的样子,封成同一个好了。 #include<bits/stdc++.h> using namespace std; typedef long long ll; int solve(); int main() { #ifdef Yinku freopen("Yinku.in","r",stdin); #endif // Yinku solve(); } int n,m; const int MAXN=100005

洛谷 - P3786 - 萃香抱西瓜 - 状压dp

重构一下就过了,不知道之前错在哪里。 #include<bits/stdc++.h> using namespace std; typedef unsigned long long ull; const int INF=0x3f3f3f3f; int solve(); int main() { #ifdef Yinku freopen("Yinku.in","r",stdin); #endif // Yinku solve(); }

51nod - 1659 - 数方块 - 简单数学

https://www.51nod.com/Challenge/Problem.html#!#problemId=1659 随便弄了一下发现公式,然后从cheatsheet抄一抄平方和公式,发现可以提公因式。 提完发现可以放缩估计出n的上界,复杂度可行。 然后是怎么求m。 一开始弄了个假算法,要求每一步都是整数,其实并不是这样。 经过一顿处理,又怕