摘要: jisoo 从只有几个棋子开始考虑 只有一个的话先手必胜 只有两个的话先手如果动前一个棋子,那么后手一定也可以动 那么先手唯一的方案就是动后面的棋子 这样的话如果有三个,先手动中间的那一个是没有意义的,后手一定可以动最后于一个 如果先手动第一个,后手动中间的也是没有意义的,那么后手要不动第一个要不动 阅读全文
posted @ 2021-09-05 20:43 Simex 阅读(19) 评论(0) 推荐(0) 编辑
摘要: Jennie 一个贪心 首先应该贪心的处理掉所有的$b_i>0$的东西,但是对于$b_i<0$的怎么办呢 假设这里有$t_1,b_1,t_2,b_2$,并且只能先干1的话,那么有 \[ \left\{ \begin{aligned} T+b_1>t_2 \\ T+b_2<t_1 \end{align 阅读全文
posted @ 2021-09-05 19:08 Simex 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 一开始写了个傻逼做法 #include<cstdio> #include<algorithm> using namespace std; int n; int a[1000001]; int lim; int ans; int maxx; int po; int main(){ scanf("%d" 阅读全文
posted @ 2021-09-05 15:05 Simex 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 这是个什么玩意 简单一想,就知道可以从左往右数 把相同的数字“摞”到一块 如果当前格比左边小的话,那么显然从小组到大组分就可以了 如果反之,更显然需要出现只有一个人的组 用优先队列实现这个东西就可以了. #include<iostream> #include<cstdio> #include<alg 阅读全文
posted @ 2021-09-05 11:38 Simex 阅读(74) 评论(0) 推荐(0) 编辑
摘要: Lisa 一个疯狂的双向bfs 压缩一状态,用一个8位int,其中每2位表示一个坐标,这样最差情况下开88888888的int数组,太荒谬了,那就换成一个map,存储状态 这四个球没有区别,所以我们保存状态按照一个固定的顺序保存就可以了 然后就是繁琐的步骤 #include<iostream> #i 阅读全文
posted @ 2021-09-05 10:11 Simex 阅读(40) 评论(0) 推荐(0) 编辑