摘要:
第一问置换群裸题。第二问单独考虑某个循环,任意交换两个元素,稍微画一下就会发现,把该循环拆成了2个,剩下所需的交换次数减少了1,也就是说,第一步我们任意交换,都能够保证交换次数最少。于是一个循环的答案就是n*(n-1)/2,把所有的加起来即可。进而我们发现,在剩下的步骤里面,我们只需在拆出来的两个循... 阅读全文
posted @ 2015-03-10 21:21
AutSky_JadeK
阅读(162)
评论(0)
推荐(0)
摘要:
在模意义下枚举m进行验证,多设置几个模数,而且小一些,利用f(x+p)%p=f(x)%p降低计算次数。UOJ AC,bzoj OLE。#include#include#include#includeusing namespace std;#define MAXV 4951vectorv;typede... 阅读全文
posted @ 2015-03-10 20:25
AutSky_JadeK
阅读(295)
评论(0)
推荐(0)
摘要:
orz PoPoQQQ。本来蒟蒻以为这种离散化以后就对应不起来的题不能权值分块搞的说。……结果,实际上>n的权值不会对答案作出贡献。#include#include#includeusing namespace std;#define N 200002#define BN 452int n,m,nu... 阅读全文
posted @ 2015-03-10 17:31
AutSky_JadeK
阅读(233)
评论(0)
推荐(0)
摘要:
这题用了三种算法写:分块+二分:O(n*sqrt(n*log(n))函数式权值分块:O(n*sqrt(n))带修莫队+权值分块:O(n5/3)结果……复杂度越高的实际上跑得越快……最后这个竟然进第一页了……#include#include#include#includeusing namespace... 阅读全文
posted @ 2015-03-10 14:53
AutSky_JadeK
阅读(309)
评论(0)
推荐(0)
摘要:
块大小为n2/3。把询问和修改分开。每次两个询问之间的修改进行暴力转移,如果修改在上一次询问的区间里,就会对当前状态形成影响。好慢。#include#include#include#includeusing namespace std;#define N 10001int num[N],n,m,b[... 阅读全文
posted @ 2015-03-10 11:30
AutSky_JadeK
阅读(200)
评论(2)
推荐(0)
摘要:
假设当前b>a。一、b%a==0 必胜二、b2*a,假设x是使得b-ax#includeusing namespace std;long long a,b;int main(){ while(1) { scanf("%lld%lld",&a,&b); if(!a&&!b) break... 阅读全文
posted @ 2015-03-10 08:48
AutSky_JadeK
阅读(154)
评论(0)
推荐(0)
摘要:
如果当前状态可以根据某条轴线把硬币分成两个相同的组,则当前状态是必败态。因为不论在其中一组我们采取任何策略,对方都可以采取相同的策略,如此循环,对方必然抽走最后一枚硬币。因为我们先手,因此抽完后盘面变成了一个n-1或n-2长度的链,此时对方只需按照奇偶性把某个位置的硬币抽走,就可以让我们达到必败态。... 阅读全文
posted @ 2015-03-10 08:27
AutSky_JadeK
阅读(184)
评论(0)
推荐(0)

浙公网安备 33010602011771号
