摘要:
数学构造 P5441 【XR-2】伤痕 有点神秘。反正我不会,有人所是 的原题。 首先,一个很显然的事实是找出来的这四个点要强联通。所以总方案数减去不强连通的方案数。 通过一些手段,我们可以发现不连通的方案只有三种情况(只考虑图中某四个点)。 一个点是三个单向边的起点(有进不去的点) 阅读全文
摘要:
概述 考的比csp-s高,还高了将近 分。由此可见 csp 有多烂。 前一周 因为马上就要考试了,所以全停课在机房考模拟赛,同时自己复习。前面几天还好,考联考每天效率还挺高的(只是一共三场考试,一场倒一,一场倒三),最后两天,感觉自己有点心神不宁,没有什么办法很高效的学进去,所以最后 阅读全文
摘要:
算法 算法应用 主要用于精准覆盖问题,通过一点简单的改变就可以直接求重复覆盖问题。 算法流程 对于当前的矩阵,选择一行,将这一行和不能与这条边一起选的边上的所有点删掉。(不能一起选就是在同一列有点) 如果删掉后所有列都被删完了,就结束。 如果这时候还有列没被删,但没有行可以选了就说明不合法,开始回溯 阅读全文
摘要:
强连通分量(有向图) void tarjan(int x) { dfn[x]=low[x]=++cnt; stac[++top]=x; vis[x]=1; for(int i=hd[x];i;i=nxt[i]) { int y=go[i]; if(!dfn[y])//树边 {tarjan(y);lo 阅读全文
摘要:
bitset 超级好用的东西.由于内存地址是按字节即 byte 寻址,而非比特 ,一个 类型的变量,虽然只能表示 , 但是也占了 的内存。 bitset 就是通过固定的优化,使得一个字节的八个比特能分别储存 位的 \(0 阅读全文
摘要:
前置知识 树状数组(不会就学一下再来) 简介 因为树状数组可以非常简洁解决序列上的一些问题,所以考虑能否用树状数组解决矩阵(二维序列)的问题。 比较暴力的想法是对于每一横行建一个树状数组,再对每一列建一个树状数组统计答案。 但这样显然要 个树状数组,但是我们发现这些树状数组复用了一些节点 阅读全文
摘要:
题目链接 主要算法 分治(最大值分治),st表 思路 1.因为我们考虑最主要的限制条件是最大值和排列,所以如果我们知道最大值就知道答案的长度。所以考虑按最大值分治,统计左边对右边的贡献。 2.接下来就是如何快速考虑一个区间是否合法,一个显然的是没有相同数,所以可以记前一个数的位置的最大值,如果小于左 阅读全文