这种题就是难者不会,会者不难. 博客讲的很详细了 代码: #include <bits/stdc++.h> using namespace std; string s; int read() { int n; scanf("%d", &n); for (int i = 1; i <= n; i++) cin >> s; return n; } int main() { while(1) { printf("next 0\n");…
题目链接:https://codeforces.com/contest/1137/problem/D 题意: 交互题. 给定如下一个有向图: 现在十个人各有一枚棋子(编号 $0 \sim 9$),在不知道 $t,c$ 的值的情况下,他们同时从home出发,要最终到达flag处. 你只能选择移动哪几个人的棋子,但棋子移动到哪里由程序确定并给出. 题解: 看网上大佬一个神仙解法……看得我一愣一愣的…… 选定两颗棋子,第一颗每次都移动,第二颗隔一次移动一次.所以,进行了 $2t$ 次之后第二颗棋子刚好…
鉴于Codeforces和atcoder上有很多神题,即使发呆了一整节数学课也是肝不出来,所以就记录一下. AGC033B LRUD Game 只要横坐标或者纵坐标超出范围就可以,所以我们只用看其中一维就可以了. 我们又知道,如果先手想要让它从左边出去,那么先手就会一直Left,后手就会一直Right. 所以枚举四种情况(L,R,U,D)就可以了. AGC033C Removing Coins 首先我们考虑链的情况,如果选的是端点,那么有一个点没有硬币,如果选的不是端点,那么有两个点没有硬币.所…
题目链接 题意:给出一张 \(n\) 个点 \(m\) 条边的无向图,第 \(i\) 条边连接 \(u_i,v_i\),边权为 \(2^{w_i}\),求 \(s\) 到 \(t\) 的最短路. \(1 \leq n,m \leq 10^5\),\(1 \leq w_i \leq 10^5\) 神仙题,不愧是 Div.1 E,不看题解根本写不出来. 我们肯定要用 dijkstra 跑最短路对吧.不过最短路需要两个基本操作,加法和比较大小,如果手写高精度这两个操作时间复杂度都是 \(10^5\)…
[BZOJ5285][HNOI2018]寻宝游戏(神仙题) 题面 BZOJ 洛谷 题解 既然是二进制按位的运算,显然按位考虑. 发现这样一个关系,如果是\(or\)的话,只要\(or\ 1\),那么无论前面是啥,操作完之后都是\(1\):同理\(and\ 0\)也是一样,无论前面是什么,操作完都是\(0\). 换个角度来看,如果\(or\ 0\),无论前面是什么,操作完之后都不改变,\(and\ 1\)同理. 那么把\(or\)写成\(0\),\(and\)写成\(1\). 那么,如果当前操作数…
[BZOJ5213][ZJOI2018]迷宫(神仙题) 题面 BZOJ 洛谷 题解 首先可以很容易的得到一个\(K\)个点的答案. 构建\(K\)个点分别表示\(mod\ K\)的余数.那么点\(i\)的出边\(j\)指向\(i*m+j\ mod\ K\).容易证明这样子一定是可行的. 但是我们显然还有一部分点是可以丢掉的,即出现点等价的时候,直接合并两个点即可. 那么什么情况下两个点等价呢?显然是两个点可以到达的点集相同的时候是可以直接把这两个点给合并的. 考虑一下\(i*m\)在模\(K\)…
Cooperative Game 智商题, 感觉不太能推出来, 虽然看看证明过程是对的. #include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk make_pair #define PLL pair<LL, LL> #define PLI pair<LL, int> #define PII pair<int, int> #define…
[BZOJ1071][SCOI2007]组队(神仙题) 题面 BZOJ 洛谷 题解 首先把式子整理一下,也就是\(A*h+B*v\le C+A*minH+B*minV\) 我们正常能够想到的做法是钦定一个\(minH\)然后怎么暴力.然而发现并不行,因为\(minV\)就不单调了.那么如果要暴力只能同时枚举两个\(min\)了,显然如果我们枚举完之后,按照\(A*h+B*v\)排序,满足条件的显然就是单调的了,我们把这个值叫做\(s\).看起来很美好,然而我们忽略了一个限制条件,也就是\(h\g…
[agc006f]Blackout(神仙题) 翻译 给定一个\(n*n\)的网格图,有些格子是黑色的.如果\((x,y),(y,z)\)都是黑色的,那么\((y,x)\)也会被染黑,求最终黑格子数量. 题解 网格图我们显然是存不下的,把它转化成图来考虑.于是题目变成了:给定一个\(n\)个点\(m\)条边的图,如果\(x\rightarrow y\),\(y\rightarrow z\)的边都存在,那么连边\(z\rightarrow x\),回答边的数量. 然后开始手动翻译题解. 首先,我们可…
[BZOJ3244][NOI2013]树的计数(神仙题) 题面 BZOJ 这题有点假,\(bzoj\)上如果要交的话请输出\(ans-0.001,ans,ans+0.001\) 题解 数的形态和编号没有关系,因此对于\(bfs\)序重标号,同时修改一下\(dfs\)序方便做题. 因为\(bfs\)的层数等于树高,所以我们相当于要把\(bfs\)划分为若干段, 那么,每一种\(bfs\)划分显然要么不合法,要么对应一种树的形态. 那么,我们来考虑\(bfs\)划分的几个限制. 首先有一个很明显的限…