12 2017 档案
摘要:909C - Python Indentation 思路:dp。 http://www.cnblogs.com/Leohh/p/8135525.html 可以参考一下这个博客,我的dp是反过来的,这样就可以边转移边求前缀和,不需要用树状数组优化。 代码:
阅读全文
摘要:X表示一个排列在所有的全排列中排第几个(从0开始)。 X=a[0]*(n-1)!+a[1]*(n-2)!+...+a[i]*(i-1)!+...+a[n-1]*0! ,其中a[i]为在当前未出现的元素中是排在第几个(从0开始)(或者说后面元素值比当前元素值小的个数),求X的过程就是康托展开。 逆康托
阅读全文
摘要:Codeforces 899F - Letters Removing 思路:考虑一下怎么找到输入的l和r在原来串中的位置,我们想到用前缀和来找,一开始所有位置都为1,删掉后为0,那么前缀和为l的位置就是l的位置,前缀和为r的位置就是r的位置。 那么用树状数组来维护一下前缀和,再用二分查找来找到位置就
阅读全文
摘要:D - GCD of Polynomials 逆推,根据(i-2)次多项f(i-2)式和(i-1)次多项式f(i-1)推出i次多项式f(i) f(i)=f(i-1)*x+f(i-2) 样例已经给出0次和1次的了 注意系数绝对值大于1对2取模 代码:
阅读全文
摘要:899E - Segments Removal 思路:priority_queue+pair 代码:
阅读全文
摘要:898F - Restoring the Expression 思路:字符串hash,base是10,事实证明对2e64取模会T(也许ull很费时),对1e9+7取模。 代码:
阅读全文
摘要:概述: 主要用于字符串的匹配。 定义hash函数: H(c)=(c1bm-1 +c2bm-2 +...+cmb0)mod h 对于字符串c中l-r区间的hash值: H(l,r)=H(1,r)-H(1,l-1)*br-l+1 如果hash值很大,对h取模,一般地,用unsigned long lon
阅读全文
摘要:很简单的一个排序,先通过递归划分区间到最小(因为一个元素具有单调性),然后再合并两个单调区间为一个单调区间,具体看代码 模板: 例题1:POJ - 1804 代码: #include<iostream> #include<cstdio> #include<cstring> #include<cmat
阅读全文
摘要:D - Ithea Plays With Chtholly 思路:考虑每个位置最多被替换c/2次 那么折半考虑,如果小于c/2,从左往右替换,大于c/2总右往左替换,只有小于这个数(从左往右)或者大于这个数(从右往左)才会被替换,所以每个位置最多被替换c/2次。 代码:
阅读全文
摘要:101628A - Arthur's Language 思路:dp,状态转移见代码。 代码:
阅读全文
摘要:珂朵莉的数列 思路: 树状数组+高精度 离散化不知道哪里写错了,一直wa,最后用二分写的离散化 哪位路过大神可以帮我看看原来的那个离散化错在哪里啊 通过代码: 错误代码:
阅读全文

浙公网安备 33010602011771号