摘要: Description N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2,2,1的四个布丁一共有3段颜色. Input 第一行给出N,M表示布丁的个数和好友的操作次数. 第二行N个数A1,A2…An表示第i个布丁的颜色从第 阅读全文
posted @ 2020-02-10 22:07 古比 阅读(91) 评论(0) 推荐(0) 编辑
摘要: https://ac.nowcoder.com/acm/contest/4010/C 这道题为尼姆博弈的其中一种裸类型; 要求求出前(1~n)堆的必胜方案。 对于这种类型,假如我们现在就前k堆,那么我们先异或出前k堆的异或值; 然后再对k堆中的每一项进行下列操作: tmp=sum^a[i] ,假如总 阅读全文
posted @ 2020-02-10 20:44 古比 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 母题:有若干堆石子,每堆石子的数量是有限的,二个人依次从这些石子堆中拿取任意的石子,至少一个(不能不取),最后一个拿光石子的人胜利。 1、我们首先以一堆为例: 假设现在只有一堆石子,你的最佳选择是将所有石子全部拿走,那么你就赢了。 2、如果是两堆:假设现在有两堆石子且数量不相同,那么你的最佳选择是取 阅读全文
posted @ 2020-02-10 20:31 古比 阅读(173) 评论(0) 推荐(0) 编辑
摘要: https://ac.nowcoder.com/acm/contest/4010/A 这道题枚举区间长度的贡献值; 当区间长度为1时,就是所有元音数的个数; 当区间长度为2时,区间【2,n-1】的数贡献了两次; 以此类推; 那么为什么可以这样做呢。 举个例子:当区间长度为2时,答案就是 (该区间元音 阅读全文
posted @ 2020-02-10 18:08 古比 阅读(1156) 评论(0) 推荐(0) 编辑
摘要: 这是一道二进制思维题; 将所有数字列成二进制形式,然后找出最大的一位“1”出现一次的位数; 然后把这个数提到前面,其他照常输出即可 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn=1e5+10; 4 int a[ma 阅读全文
posted @ 2020-02-10 10:13 古比 阅读(276) 评论(0) 推荐(0) 编辑