把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end
摘要: 题面传送门 考虑把两个操作合并,会发现把每$4$个分为一组,会剩下第$3$个。 则我们可以很容易地推出递推式:\(f_{x}=4\times f_{\frac{x+1}{4}}-1\) 则我们就可以很容易地找到最后剩下的位置了。 那么根据位置求数字就很简单了。 代码实现: #include<cstd 阅读全文
posted @ 2020-04-03 09:31 275307894a 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 题号好评。 这道题状态不难想,就是设$f_{i,j}$为第$i$个站点换了第$j$次车的方案数。一般的转移方程为$f_{i,j}=f_{i-1,j-1}+f_{i+1,j-1}$空间爆了。 我们注意到,$A$和$E$是两个对称的点,所以我们可以把它对称成两部分,空间减小一半,如果你卡空间 阅读全文
posted @ 2020-04-02 17:34 275307894a 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 这道题......真的无语了。 一眼看上去这道题似乎可以状压$dp$,只有$L$和$R$两种,然后我手算把样例转成了二进制,准备推转移方程,结果惊奇的发现$RBR=(101)2=2$,这不就是样例的答案吗?接着推了第二个样例的答案,居然也对了。 言归正传,那么我们设$f_i$为把$i$以 阅读全文
posted @ 2020-04-01 21:11 275307894a 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 题目的询问是互相独立的,这一点给了我们思考的空间。 我们可以用单调队列优化多重背包做正反两趟背包,然后对于询问用$dp1_{d_-1,k}+dp1_{d_-1,e_i-k}$来拼,其中$0\leq k\leq e_i$,取最大值。 代码实现: #include<cstdio> #defi 阅读全文
posted @ 2020-04-01 12:18 275307894a 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 题面传送门(加强版) 其实这两道题是双倍经验啦哈哈。 这道题要求所有$x$,$y$满足$x\neq y&&a_x=a_y&&min(b_k)<=p&&x\leq k\leq y$ 我们设$a_i$为第$i$种元素的当前最后一个的值,$b_i$表示第$i$中颜色到当前位置已经可以有$min 阅读全文
posted @ 2020-03-31 18:12 275307894a 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 直接暴力$BFS$,判断当前点和下一个单位时间有没有石头,并且当时间$>22$时就跳出。 为什么是$22$呢? 考虑极端情况,一块石头在$1,x$的位置,如果这块石头掉到底部要$8$单位时间,然后如果现在再开始走,走到终点要$14$个单位时间。 代码实现: #include<cstdio 阅读全文
posted @ 2020-03-31 17:49 275307894a 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 显然这是一道$SPFA$水题,难点在建边。 题目中给三个点求另一个点,那么只要找到对角线,然后把另一个点对称过去就好了。 代码实现: #include<cstdio> #include<queue> #include<cmath> #include<cstring> #define mi 阅读全文
posted @ 2020-03-30 13:31 275307894a 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 这次$JX$重考的题目也太水了点吧,完全比不上原来的$T3$。 题目要求拆除的边数最多,那么要留下的边数最少。 那么这样的话$1$到$s1$和$s2$的路程中最好有一部分是重叠的。 而$1$到$s1$和$s2$的路程均为一条链,这两条链可能有一部分是重叠的。无论重叠也好,不重叠也好,总会 阅读全文
posted @ 2020-03-29 20:49 275307894a 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 考虑一下变形,得到每一次变化等于$ans=\left\lfloor\dfrac+1\right\rfloor\times i$ 变形,得$ans=\left\lfloor\dfrac\right\rfloor\times i+i$ 因为 \(ans\%(i-1)=0\) 所以$ans=\left\l 阅读全文
posted @ 2020-03-29 18:39 275307894a 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 运用集合思想,用总集减去补集得到所求集合。 总共的点个数减去平行于坐标系的三点共线减去斜边三点共线。 斜边三点共线:枚举一个点,算出他与原点中间点的个数,再把这条线分别向上向右平移, 分别减去。 代码实现: #include<cstdio> using namespace std; in 阅读全文
posted @ 2020-03-29 18:32 275307894a 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 排列组合题。 总共有 \(4n\) 个点,\(5n\) 条边,所以要删 \(n+1\) 条边。每个五边形要删一条,中间的还要删一条, 所以是 \(4\times n\times 5^{n-1}\)。 可以用快速幂实现。 代码实现: #include<cstdio> using names 阅读全文
posted @ 2020-03-29 18:27 275307894a 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 又是数学题。 设 \(a_i\) 为本来钱数,\(b_i\) 为给后一个人多少钱,\(m\) 为平均分的钱数。 则: \(a_1-b_1+b_2=m\) \(a_1-b_1+b_2=m\) \(b_2=b_1-(a_1-m)\) \(a_2-b_2+b_3=m\) \(b_3=2m-a_ 阅读全文
posted @ 2020-03-29 18:24 275307894a 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 对于这道题,用递推的思想。 设$f_i$表示$i$这个数的$lqp$拆分的值,那么考虑一下,除了自身的拆分,其他拆分一定是$x\times(i-x)$,其中$x$是一个多数组成的集合,而$(i-x)$是一个单个的数,然后问题就变成了怎么求$x$这个集合的$lqp$拆分的答案。因为这是递推 阅读全文
posted @ 2020-03-28 16:08 275307894a 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 既然是算期望,所以可以用$\frac$来求得。 把这道题抽象成一个模型,$i$个节点是在$i-1$个节点的树上再挂一个节点,那么就会有两种情况:加一个点与不加点,这就是卡特兰数模型,所以可以用通项公式。 \(h_n=\frac{2n!}{n!(n+1)!}\) 所以带进去可得 \(ans 阅读全文
posted @ 2020-03-28 15:58 275307894a 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 首先一段告诉我们这$n$条线任意三线不共点,任意两线不平行。 所以这个图像可以反过来。 那么第一层一定是$2$段,一个焦点。 第二层那一个焦点可以延伸出$2$个焦点,所以有四段。 以此类推。 而又因为它可以反过来,所以应该考虑两种情况。 代码实现: #include<cstdio> #d 阅读全文
posted @ 2020-03-28 15:54 275307894a 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 这题因为他只能对头尾两个进行操作,所以根据分治思想,只要考虑头尾两个就好了 代码实现: #include<cstdio> #define abs(x) ((x)>0?(x):-(x)) using namespace std; int t,n,a[100039],flag,tot,ans 阅读全文
posted @ 2020-03-28 15:52 275307894a 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 也很简单,统计二进制下有几位就好了(即$log^2n$) 代码实现: #include<cstdio> using namespace std; int m; int ans; int main(){ scanf("%d",&m); while(m){ m>>=1; ans++; } p 阅读全文
posted @ 2020-03-28 15:50 275307894a 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 简单博弈论,直接判奇偶就行了 代码实现: #include<cstdio> using namespace std; int n; int main(){ scanf("%d",&n); while(n){ if(n&1) printf("Bob\n"); else printf("Al 阅读全文
posted @ 2020-03-28 15:49 275307894a 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 对于这道题,明显可以$dp$,将一张表预处理出来。 我们可以设$f_{i,j,x,y,k}$表示左下角为$i,j$右上角为$x,y$,切大小为$k$的,转移时横竖各枚举切分点与$k$的分配转移,时间复杂度$O(305\times 502)=O(1)$ 不过我们发现,实际上这道题任意大小一 阅读全文
posted @ 2020-03-28 13:57 275307894a 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 这道题一眼就是二分,重点是$check$函数怎么写。 $62$分思路:把所有点按权值排序,每次枚举大于$mid$的点,枚举对角线并进行判断,一有满足条件的就退出,期望复杂度$O(n2m2log2(max{a_i}))$,咋一看复杂度比暴力还高,但在随机数据下摊还分析一下只有$O(nm\s 阅读全文
posted @ 2020-03-28 13:29 275307894a 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 这道题到现在为止还只有我一个人做出来,还是蛮高兴的$QWQ$ 算了不说了,再说$90$分的$zj$会把我用唾沫星子淹死我的 想法$1$:暴力枚举:枚举四个点,求这四个点之间的欧几里得距离,看是否相等,相等即构成一个正方形。大概$30$分。 想法$2$:构造:枚举三个点,构造出第四个点,看 阅读全文
posted @ 2020-03-27 16:04 275307894a 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 链表,顾名思义,就是一根链,由许多节点构成,每个节点分为两个部分:数据域和指针域,其中数据域可以包含很多数据,指针域只能包含一个指向对象,不然就成图了。链表可以$O(1)$插入和删除数据,但不能随机访问元素。 链表实现就不再乱说了。毕竟是个人都会。主要讲一些链表的应用。 这道题很简单,只 阅读全文
posted @ 2020-03-27 09:26 275307894a 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 题目描述:给定一个标准串$a$,再给出很多串$b$,问$b$是不是$a$的子序列。 方法一:最长公共子序列(太无脑了) 方法二:首尾一个一个对过去比较 方法三:链表 对于每个$a_i$,令$s_i$指向下一个与$a_i$值相同的位置。 我们在匹配子序列时,对于一个$b_i$,原本我们要一 阅读全文
posted @ 2020-03-27 09:20 275307894a 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 话说这不是一张真正的图啊,只是一根链表后面挂着一个可有可无的环儿。 一眼扫去,这道题如果没有环,那么就是记忆化搜索或$topo$,但有环,就不好办。 根据亡羊补牢原则,我们把这个环拆了不就好了。 接下来就可以缩点。即把一个环变成一个权值为这个环的权值之和的点。 我们可以把那些绕在环上的链 阅读全文
posted @ 2020-03-26 13:32 275307894a 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 话说这道题题面和题目一点儿不沾边啊$QAQ$,而且还有错别字:大米有$32768$棵(颗)…… 扯了半天,题目要求解一个方程组:\(ax1+bx2+cx3+dx4=0\),\(0<=x1,x2,x3,x4<=m\) 第一想法:枚举:四重循环,枚举$x1$,\(x2\),\(x3\),\( 阅读全文
posted @ 2020-03-26 12:32 275307894a 阅读(46) 评论(0) 推荐(0) 编辑
浏览器标题切换
浏览器标题切换end