杂题
_Ark
这个作者很懒,什么都没留下…
展开
-
【带权并查集】食物链 NOIP 2001
Title: [NOI2001]食物链 题目描述 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是“1 X Y”,表示X和Y是同类。第二种说法是“2 X Y”,表示X吃Y。此人对N个动物,用上述原创 2017-02-22 14:00:12 · 1126 阅读 · 0 评论 -
ZrOJ #882. 画画
最后染成的图形一定一样的。那么只用考虑两条路径在那些地方重合,重合的地方可以交换,这样答案就是2的重合次数次方。直接模拟就行了。qiang…CODE#include <bits/stdc++.h>using namespace std;const int mod = 1e9 + 7;const int MAXN = 100005;int n, r[MAXN], c[MA...原创 2019-08-10 00:30:47 · 132 阅读 · 0 评论 -
Luogu P4270 [USACO18FEB]Cow Gymnasts (打表找规律)
题意传送门题解首先我们不竖着看奶牛而是横着看。从下往上把奶牛叫做处于第0,1,2...0,1,2...0,1,2...层。那么相当于第000层的不动,第111层的平移一格,第222层的平移222格,以此类推,第iii层平移iii格。假设每一层的最小正周期为xix_ixi,则显然有xi∣ix_i|ixi∣i且xi∣nx_i|nxi∣n。因为第iii层动了iii步恰好复原,iii就一定是最...原创 2019-07-08 16:56:40 · 364 阅读 · 17 评论 -
Codeforces Round #551 (Div. 2) E. Serval and Snake (交互题)
人生第一次交互题ac!其实比较水容易发现如果查询的矩阵里面包含一个端点,得到的值是奇数;否则是偶数。所以只要花2*n次查询每一行和每一列,找出其中查询答案为奇数的行和列,就表示这一行有一个端点。令cntr表示答案为奇数的行数,cntc表示答案为奇数的列数。那么cntr只能为0或者2,0就表示两个头在同一行,2就表示两个头在不同的行(我们已经找出这两行了)cntc亦然。然后cntr与c...原创 2019-04-28 17:05:29 · 159 阅读 · 0 评论 -
BZOJ 1109: [POI2007]堆积木Klo (LIS)
%%%PoPoQQQmdzz写错变量见祖宗#include<bits/stdc++.h>using namespace std;char cb[1<<15],*cs=cb,*ct=cb;#define getc() (cs==ct&&(ct=(cs=cb)+fread(cb,1,1<<15,stdin),cs==ct)?0:*cs++)...原创 2019-03-28 22:47:12 · 198 阅读 · 0 评论 -
BZOJ 1818: [Cqoi2010]内部白点 (BIT + 扫描线)
就是求多条线段的交集,直接BIT+扫描线就行了CODE#include<bits/stdc++.h>using namespace std;char cb[1<<15],*cs=cb,*ct=cb;#define getc() (cs==ct&&(ct=(cs=cb)+fread(cb,1,1<<15,stdin),cs==ct)?0:...原创 2019-03-28 20:09:45 · 124 阅读 · 0 评论 -
BZOJ 1107: [POI2007]驾驶考试egz / Luogu P3463 [POI2007]EGZ-Driving Exam (树状数组 LIS)
能从iii走到所有跑道 相当于 能从iii走到111和nnn.边反向后就相当于 能从111和nnn走到iii.为了方便叙述,把111~nnn叫做x坐标,111~(m+1)(m+1)(m+1)叫做y坐标.然后我们将图上下翻转(yyy坐标)后,能从111走到iii的话一定经过i−1i-1i−1条向右的边,且这些边的yyy坐标不下降.那么我们设fl[i]fl[i]fl[i]表示从111走到iii...原创 2019-03-28 18:59:45 · 186 阅读 · 0 评论 -
BZOJ 2013 : [Ceoi2010]A huge tower / Luogu SP6950 CTOI10D3 - A HUGE TOWER
传送门菜鸡.jpgCODE#include <bits/stdc++.h>using namespace std;const int MAXN = 620005;int n, d, a[MAXN];int main() { scanf("%d%d", &n, &d); for(int i = 1; i <= n; ++i) scanf("%d...原创 2019-04-03 22:22:46 · 185 阅读 · 0 评论 -
BZOJ 3772: 精神污染 (dfs序+树状数组)
跟 BZOJ 4009: [HNOI2015]接水果一样…CODE#include <set>#include <queue>#include <cctype>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;...原创 2019-03-22 21:25:45 · 227 阅读 · 0 评论 -
【二分答案】Expanding Rods POJ 1905
题目链接:http://poj.org/problem?id=1905题目大意:原长度为L的线段因受热膨胀为一段弧,线段L、弧长L‘、温度n、膨胀率c满足L' =(1+n/c)*L;求线段的中点移动的最小距离。’?‘代表的线段就是要求的距离。怎么办呢?用分治,二分答案,验证弧长是否为目标弧长再进行调整。首先利用相交弦定理[BA×EA=CA×DA]算出other(AE)然后用...原创 2017-07-17 08:10:04 · 331 阅读 · 0 评论 -
2019 Multi-University Training Contest 10 HDU多校赛 题解
HDU 6693 03.Valentine’s Day题意略题解显然从大到小贪心,买进来能够让答案更优就买。如果一个买不了剩下的一定也买不了,直接break就行了。CODE#include <bits/stdc++.h>using namespace std;const int MAXN = 10005;int n;double p[MAXN];int main...原创 2019-08-27 16:35:39 · 1068 阅读 · 1 评论