摘要: 首先要判sum是否是3的整数倍 然后把符合条件的前缀和以及后缀和分别加入到静态vector中 最后扫一下j和k定位在哪然后求总长的差来更新答案 注意i j k至少隔1位,所以lower_bound是s1[i]+2 官方题解是O(n),不过没仔细看 这种解法最坏应该是常数较小的O(nlogn) C++ 阅读全文
posted @ 2017-12-09 18:49 Caturra 阅读(228) 评论(0) 推荐(0)
摘要: 求最小不重复匹配次数 改最后一个字符最划算 我当时怎么就没看出来.. C++ include using namespace std; string S,T; int main(){ while(cin S T){ int ans=0; for(int i = 0; i 阅读全文
posted @ 2017-12-09 15:12 Caturra 阅读(181) 评论(0) 推荐(0)
摘要: 显然只需要能跑到第二个因子就赢了 需要特判非平凡因子 常数优化:不用求出所有因子,跑完第二个素数就行了 C++ include using namespace std; typedef long long ll; const int maxn = 233; ll n,cnt; ll prime[ma 阅读全文
posted @ 2017-12-09 11:28 Caturra 阅读(203) 评论(0) 推荐(0)
摘要: 要求断裂的数列之和的最大值,只需在断裂处的下标修改为一个足够负无穷大的值就可以用线段树维护 这道题数据还是弱了点,如果n和ai均取最大可能我这个程序早就爆ll了(4e4的时候炸了),毕竟本来想着用GCC的int128稳过却CE(我dev用着好好的) 本着死马当活马医的可贵精神直接改回ll碰碰运气,没 阅读全文
posted @ 2017-12-09 10:39 Caturra 阅读(245) 评论(0) 推荐(0)