摘要:
\(if\) 相当于中文中的如果,表示如果满足某个条件,就执行某个操作。 结构1 if(条件)//注意if后面要加(),如果有多个任务就要用大括号包裹 { 条件为真执行的语句。 语句1; 语句2; ... } 举个例子,如果明天不下雨,我们就去郊游烧烤,可以表示为 if(明天不下雨) { 郊游; 烧 阅读全文
摘要:
数学构造 P5441 【XR-2】伤痕 有点神秘。反正我不会,有人所是 \(CMO\) 的原题。 首先,一个很显然的事实是找出来的这四个点要强联通。所以总方案数减去不强连通的方案数。 通过一些手段,我们可以发现不连通的方案只有三种情况(只考虑图中某四个点)。 一个点是三个单向边的起点(有进不去的点) 阅读全文
摘要:
概述 考的比csp-s高,还高了将近 \(100\) 分。由此可见 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 寻址,而非比特\(bit\) ,一个 \(bool\) 类型的变量,虽然只能表示 \(0/1\) , 但是也占了 \(1byte\) 的内存。 bitset 就是通过固定的优化,使得一个字节的八个比特能分别储存 \(8\) 位的 \(0 阅读全文