上一页 1 2 3 4 5 6 ··· 28 下一页
摘要: Link 首先这个题目的限制卡的很死,最好是O(n)解决,其次当看到异或的时候,就可以考虑按照二进制位进行计算。 对于这个题,我们定义\(dp_i\)表示以\(a_i\)为最右端的子区间的答案的和 那么首先可以想到,贡献给这个答案的有两个部分,包括\(a_i\)的和不包括的,其中不包括\(a_i\) 阅读全文
posted @ 2023-09-18 20:58 Simex 阅读(104) 评论(0) 推荐(0) 编辑
摘要: Link 简单版本的结论还是很容易猜到的。 首先很容易想到的第一步就是尽可能地不覆盖地取尽可能多地区间,最后剩下了一小块。 然后在接着原来的指针一个一个地往右问,直到不能问了为止。 为什么这样是正确的呢?首先,在这样一步一步地往右查询的过程中,我们会发现总是前$k-1个数加上后面的一个数。 然后题面 阅读全文
posted @ 2023-09-18 19:54 Simex 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 事实上我们可以发现,如果\(b_i=x\)最后,那么我们可以连一条边,从\(i\)到\(x\) 这样我们就得到了一个有向图,在这张有向图呢,可以证明的是 如果\(k=1\),那么必须全部都是自环。 若不成立,则必须每个环的大小恰好为\(k\) 这样就可以解决了。 #include<cstdio> # 阅读全文
posted @ 2023-09-18 09:47 Simex 阅读(15) 评论(0) 推荐(0) 编辑
摘要: LLink 显然的,答案就是\(C_n^m*D_{n-m}\) #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #include<cmath> #include<queue> #include<sta 阅读全文
posted @ 2023-09-17 16:50 Simex 阅读(3) 评论(0) 推荐(0) 编辑
摘要: LLink 本代码没有高精。 首先很容易想到的是,0,1之间互相并不干扰,所以说我们只要分开算0和1的方案数乘起来就可以了。 那么怎么算方案数呢? 首先可以想到的一点就是,如果我们确定了要放\(a\)个1的话,只要采用隔板法就可以确定了方案书。 有的可以没有怎么办?先给每一个隔间都放上一个球,答案就 阅读全文
posted @ 2023-09-16 22:07 Simex 阅读(10) 评论(0) 推荐(0) 编辑
摘要: Link 首先很容易想到地一点就是平行的直线可以划分为一组,他们的每一条线是“相同的”,这样我们第一件事情就是计算可以有多少划分方式。 然后该怎样计算最后每一种情况是多少个交点呢? 我们考虑一下,每一条直线都会和不平行的直线产生交点,这样就可以计算每一条直线地贡献了。 \(\frac{n^2-\su 阅读全文
posted @ 2023-09-15 23:20 Simex 阅读(6) 评论(0) 推荐(0) 编辑
摘要: link 首先我们要明白,floyed的本质上是一个dp,那么显然我们要先跑一边floyed,然后进行更新 当我们更新的两个点之间的距离的时候,显然我们改变的是和它们有关的距离,所以只要更新这两个边就可以了. #include<cstdio> #include<iostream> #include< 阅读全文
posted @ 2023-09-14 21:09 Simex 阅读(32) 评论(0) 推荐(0) 编辑
摘要: Link A Two Vessels 十分甚至九分地简单 #include<bits/stdc++.h> using namespace std; int t; int a,b,c; int main(){ scanf("%d",&t); while(t--){ scanf("%d%d%d",&a, 阅读全文
posted @ 2023-09-09 11:00 Simex 阅读(3) 评论(0) 推荐(0) 编辑
摘要: [link](https://codeforces.com/contest/1855/problem/C1) 像这种构造题可以先分类讨论一波 比如说全是正数或者全是负数,那么显然的就是可以用前缀和和后缀和来解决。 而如果有正有负呢?可以注意到的是数字非常小,而$2^5=32>20$了,那么我们就可以 阅读全文
posted @ 2023-08-08 17:19 Simex 阅读(104) 评论(0) 推荐(0) 编辑
摘要: [link](https://codeforces.com/contest/1855/problem/B) 需要思考一下 如果这个题能做,那么肯定有一种比较可行的做法。 如果$[l,r]$是可行的,那么就意味着$[1,r-l+1]$是可行的 这是显然的,显然后者的每一个数在前者中必然有对应的倍数,所 阅读全文
posted @ 2023-08-08 17:16 Simex 阅读(23) 评论(0) 推荐(0) 编辑
摘要: [Link](https://codeforces.com/contest/1849/problem/C) 我们想一下,什么时候两种变换是相同的 或者说,这意味着什么。 本题目有特殊性,特殊性就在于只有0和1 对于每一个被改变的区间$[L_i,r_I]$,从$l_i$开始的那一堆0,和从$r_i$开 阅读全文
posted @ 2023-07-29 19:47 Simex 阅读(11) 评论(0) 推荐(0) 编辑
摘要: [link](https://codeforces.com/contest/1851) #### A 非常简单的比较大小问题 ```cpp #include #include #include #include #include #include #include #include #include 阅读全文
posted @ 2023-07-28 18:02 Simex 阅读(20) 评论(0) 推荐(0) 编辑
摘要: [Linkkkkkkkkkkkk](https://atcoder.jp/contests/abc311/tasks/abc311_e) 这其实是个dp问题 可以拆成一个个dp小问题,然后求和,这个小问题就是以$(i,j)$为右下角方块下会有多少矩形,然后把每一个位置加起来就行了。 应注意到以下命题 阅读全文
posted @ 2023-07-25 22:06 Simex 阅读(27) 评论(0) 推荐(0) 编辑
摘要: [Miku](https://codeforces.com/contest/1853/problem/C) 一道逆向思维的题目。 我们假设最后的最小的数是个1,放在第一个位置上,然后我们往数列开头按照规则插入0,其中应该插在这个1后面的,我们视为无效插入,插在这个1前面的,我们视为有效插入。 显然随 阅读全文
posted @ 2023-07-25 21:52 Simex 阅读(45) 评论(0) 推荐(0) 编辑
摘要: [link](https://www.luogu.com.cn/problem/P1253) 非常直白的线段树题目 要注意负数的问题以及吮吸 ```cpp #include #include #include #define int long long using namespace std; in 阅读全文
posted @ 2023-07-20 11:05 Simex 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 取模的时候记得+个mod再%,以免出现负数 没有return 0的代码无法正常生成活动文件,在VSCODE中,会直接推出代码为-1 scanf在使用的时候,如果是%c或者说有其他的控制字符(非空白)的时候,不会忽略掉间隔之间的回车和空格,会留在缓冲区。 而且scanf在推出后不会清空缓冲区,下一个s 阅读全文
posted @ 2023-07-16 21:49 Simex 阅读(5) 评论(0) 推荐(0) 编辑
摘要: Archie的OI总结 当一件自己投入其中很久的事情结束的时候,当然要总结一下。 感谢信息学竞赛,让我可以在高考前有机会来一次总结。 本文将会包括:Archie的高二上学期OI记 Archie的感谢 Archie的总结 鸣谢 感谢scz,lzc二位班主任对本彩笔竞赛之路的支持。 感谢jcl,drl, 阅读全文
posted @ 2021-11-21 21:33 Simex 阅读(273) 评论(1) 推荐(0) 编辑
摘要: Jisoo 不知道该怎么做? 匹配,开个栈并记录。删掉一个单词以后就从上一个单词的位置继续匹配。 为什么匹配过程不跳 fail?因为题目保证没有单词是另外一个单词的字串。 #include<cstdio> #include<iostream> #include<cstring> #include<i 阅读全文
posted @ 2021-11-08 17:27 Simex 阅读(34) 评论(0) 推荐(0) 编辑
摘要: Jisoo manacher算法有个性质 就是求出来的$p_i$是以i为中心的回文串长度+1 所以manacher求出p,差分一下就行了。 #include<cstdio> #include<iostream> #include<cstring> #include<iomanip> #include 阅读全文
posted @ 2021-11-08 17:24 Simex 阅读(34) 评论(0) 推荐(0) 编辑
摘要: Jisoo 什么时候两个点中间夹得那个点不会被走?当他不在最短路上的时候。 按照这个思想进行检查就行了。 #include<cstdio> #include<iostream> #include<cstring> #include<iomanip> #include<cmath> #include< 阅读全文
posted @ 2021-11-08 17:22 Simex 阅读(24) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 28 下一页