摘要:
新博客点这里 (题解之类的还是会发布在这边) 文章有时效性,最后更新于2021/12/12! 我是Mogeko! 本来这个博客就想丢在这里不管的,但是时隔好几个月再回来看这个文章实在太羞耻了,而且还时不时会被前辈后辈同辈的oier和acmer翻出来鞭尸,所以就稍微更新一下了啊啊啊! 我已经AFO了! 阅读全文
摘要:
gate 发现这道题以前没写题解…… 首先可以看出是并查集。 物种间有同类、吃、被吃三种关系。 除了要记录物种,还要记录种间关系。 这时就要用到种类并查集。这是一种带权并查集,其中每个节点要记录它与父节点的关系,这个关系在经过路径压缩后是不变的。 设这个权值为$d$,则有 \(d[x]-d[y]=0 阅读全文
摘要:
组合数可以表示为 \[ C^m_n = \frac{n!}{m!(n-m)!} \] 假设$n!,m!,(n-m)!$含因子$2$的个数分别为$A,B,C$ 则当$A=B+C$时,$C^m_n$为奇数 那么如何求出$n!$的因子个数呢? 对于一个质数$p$, 它的倍数$kp^i$含因子$p$的个数为 阅读全文
摘要:
qsort的用法: 包含在头文件<stdlib.h>里 void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void*, const void*)) 举个例子,对int(a[0],a[9])进行排序: qsor 阅读全文
摘要:
gate 需要用C语言实现读入一行含空格的字符串,又不想一个一个char读入? scanf在读入字符串时遇到指定字符结束: scanf("%[^\n]s", s); //遇到换行结束 scanf("%[^#,$,%]s", s); //遇到#或$或%结束 不写的话,就是默认遇到换行或空格结束 对于这 阅读全文
摘要:
想了想,以后学习的东西还是丢这里吧 创建项目真的挺麻烦的... 反正就是: 创建项目->空项目->解决方案资源管理器->源文件->右键添加新建项->c++文件->在下面把后缀改成.c 放头文件里好像也没有大问题,但是那边就放.h用吧... 关于使用VS时出现scanf有错误要改用scanf_s的处理 阅读全文
摘要:
这是在我作为一个oier的时候发生的故事,但有很多和oi无关的事情;浙江集训以后的经历我都已经写过游记了。流水账。 绝大多数内容是我凭记忆写的,可能会有不确切之处,请谅解。 由于其中的内容可能涉及个人隐私,一部分的人名用ID或外号代替。如果有冒犯,请联系我,我会马上修改删除。 2018年8月,我被2 阅读全文
摘要:
祝大家CSP$rp++$ 😃 函数定义了两遍 $bool$函数返回值一直为$true$:忘传参数了 线段树没有$build$ 把$i,l$写成$1$了,或者循环里枚举$i$写成$0,1$了 $RE:for$循环里$i--$写成$i++$ 链前里$i$和$v$写反 用^$1$表示反向边时,下标从$0 阅读全文
摘要:
gate 有向图求最短路,需要进行三种操作: 点向点连边 点向区间连边 区间向点连边 用线段树优化建图可以解决。 建立两棵线段树,一棵存入边,一棵存出边 入边: 出边: 所以线段树看起来应该是这样子的: 线段树内的边权为$0$。 code #include<cstdio> #include<iost 阅读全文
摘要:
对于树上的节点$i$,设$d[i]$为$i$的度数,$fa$为$i$的父亲,$\sum\limits_ j$为$i$的儿子。 假设边权均为$1$。 分别考虑儿子到父亲、父亲到儿子的期望。 设$F[i]$表示儿子$i$到父亲的期望距离。 可以分为$2$种情况: 直接到父亲。 概率为$\dfrac{1} 阅读全文
摘要:
gate 有$p_i$的概率取最大,$1-p_i$的概率取最小。 首先把权值离散化 每个节点开一棵线段树,记录每个权值被取到的概率。 对于线段树$i$,设两个子树为$ls,rs$,取到值$j$的概率$f[i][j]$ \(f[i][j] = \\ f[ls][j]*(\sum\limits_{k=1 阅读全文