上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 54 下一页
摘要: 观察可得,最大的拆分方法是尽量拆成3,特殊的,如果最后剩下了1,那么就把3+1变成2+2然后高精度计算即可 1 var s2,s3,i,n,l:longint; 2 a:array[0..5010] of longint; 3 4 procedure mul(x,m:longint); 5 ... 阅读全文
posted @ 2014-08-04 16:13 acphile 阅读(141) 评论(0) 推荐(0)
摘要: 假如不存在相等的两个数不能配对,那很容易贪心得到,A中rank 1匹配B中rank 1A中rank2 匹配B中rank 2……有了相等不能匹配这个条件,那么A中rank i可能和rank i,i-1,i+1匹配也有可能三对数字交换匹配dp一下就好了 1 const inf=2000010; 2 ty... 阅读全文
posted @ 2014-08-04 16:09 acphile 阅读(138) 评论(0) 推荐(0)
摘要: 穷举水题 1 var v:array[0..410] of boolean; 2 q:array[0..3010] of longint; 3 ans,count,jud:array[0..1010] of longint; 4 x,i,j,n,m,tot,t,k:longint; 5 ... 阅读全文
posted @ 2014-08-04 16:06 acphile 阅读(150) 评论(0) 推荐(0)
摘要: 像我这种蒟蒻这道题从在线算法思考基本毫无思路但是发现题目中只涉及到询问而不涉及到修改,这类题目一般都是离线算法大概考虑到这题为什么不能直接区间求值,因为区间中同色点会被重复计算(废话)下面我们就要通过离线算法来排除区间内同色点干扰首先想到对询问区间以左端点排序,考虑到区间内的同色点我们只要算最左边的... 阅读全文
posted @ 2014-07-27 17:40 acphile 阅读(247) 评论(0) 推荐(0)
摘要: 肯定是搜索题无疑问,首先要求在15步以内(包括15步)到达目标状态,也就是限定了搜索的深度,于是我们用dfs更合适但这样复杂度仍然太大,原因就是我们在搜索中做了很多很不优的尝试考虑当前状态若与目标状态有x处不相同,我们至少要移动x-1步才能成功如果当前移动次数+x-1>=已找到的最小移动次数(没找到... 阅读全文
posted @ 2014-07-27 16:13 acphile 阅读(298) 评论(0) 推荐(0)
摘要: 等价类计数问题首先要构造出群首先,给出的洗牌法就相当于置换,再加上置换(1)(2)(3)……(n),可以构成一个包含m+1个置换的置换群;这里要解释一下构成置换群的四个条件封闭性 任意两个置换相乘所得的置换还在群内 题目中已经给定保证任意多次洗牌都可用这m种洗牌法中的一种代替结合性 显然置换相乘本身... 阅读全文
posted @ 2014-07-26 17:58 acphile 阅读(185) 评论(0) 推荐(0)
摘要: 等价类计数问题,我们就先构造置换群显然置换分为两种类型,旋转和翻折先考虑旋转,每旋转i格子,这个置换的循环数为gcd(i,n); (1-1 do18 begin19 if n=0 then writeln(0)20 else begin21 ans:=0;22 for i:=1... 阅读全文
posted @ 2014-07-26 10:38 acphile 阅读(144) 评论(0) 推荐(0)
摘要: 终于把这个很久以前拖下来的问题解决了回忆一下,最少相邻交换次数等于逆序对数这里求的是最少交换代价(非相邻元素也可以交换);先考虑最少交换次数这个问题首先把现在数列看成原数列{1,2,3……n}的一个置换根据置换的理论,每一个置换都能拆成唯一的互不相交的循环显然最小交换次数是在每个循环内部交换达成的在... 阅读全文
posted @ 2014-07-26 10:15 acphile 阅读(185) 评论(0) 推荐(0)
摘要: 50%的数据很好考虑,基本的dp了 关键到了100%,如果用每种颜色有ci种这种常规的写法,显然5^15会爆空间 考虑到反过来,ci<=5, 15^5是不会爆空间的 又想到,每一种颜色,如果数量相同的话,其实是等效的。 这样我们不难想到用f[a,b,c,d,e,last]表示剩余颜色数量(就是还能刷 阅读全文
posted @ 2014-07-26 09:24 acphile 阅读(220) 评论(0) 推荐(0)
摘要: 看到这道题一开始想到的是后缀数组+二分+rmq 类似bzoj3172 问每个串i在合并后的串出现了多少次 等价于有多少个后缀j,使得LCP(i,j)>=length(s[i]) 但是想想又不对,要求求的是有多少人被点到,每个人点到多少次 可能有多个后缀j满足条件但其实都是一个人的名字的一部分 好像二 阅读全文
posted @ 2014-07-24 15:28 acphile 阅读(177) 评论(0) 推荐(0)
上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 54 下一页