wsoj「G2016 SCOI2018 Round #12」建筑师】的更多相关文章

传送门 小半个月前的测试,现在翻出来. 考试时我和sxyA了这题. 当时随便搞了个dp,dp[i][j]表示i个数能看到j个的情况数,考虑新加入一个比之前i-1个数都小的数,能看到它的情况是它加到第一个,不能看到它的情况是它加到第1~i-1个数之后.所以 dp[i][j]=dp[i-1][j-1]*1+dp[i-1][j]*(i-1); 然而这个东西刚好就是第一类斯特林数. 第一类Stirling数是有正负的,其绝对值是包含n个元素的集合分作k个环排列的方法数目. i个数的排列可以看到j个数的情…
传送门 杜教筛的简单题. 莫比乌斯反演一下,然后杜教筛.…
先开坑. md原题写挂我也真是... 100+20+10 白夜 打表大法吼 显然,不在环上的点对答案的贡献是 \((k-cycle)^{k-1}\) . 打表得到环上的递推式,矩阵一下乘起来就好了. #include<bits/stdc++.h> using namespace std; #define int long long template <typename Tp> void read(Tp &x){ x=0;char ch=1;int fh; while(ch!…
「LibreOJ NOI Round #2」不等关系 解题思路 令 \(F(k)\) 为恰好有 \(k\) 个大于号不满足的答案,\(G(k)\) 表示钦点了 \(k\) 个大于号不满足,剩下随便填的方案数. 枚举有多少个大于号被钦点了,\(F(0)=\sum_{i=0}^n G(i)(-1)^i\) . 对于一个只有小于号限制的序列的方案数就是每一个小于号链接的联通块里分配的数字顺序固定,块与块之间随便排,令 \(sz[i]\) 表示第 \(i\) 个联通块的大小,方案数也就是 $ \dfra…
二次联通门 : LibreOJ #507. 「LibreOJ NOI Round #1」接竹竿 /* LibreOJ #507. 「LibreOJ NOI Round #1」接竹竿 dp 记录一下前驱就好了 再随便用前缀和优化一下 O(N) */ #include <iostream> #include <cstdio> ; char Buf[BUF], *buf = Buf; inline long long max (long long a, long long b) { re…
题目啰嗦:支持三个操作: 不可重复集合:1.加入一个数 2.删除一个数 3.恢复目前最早的一次删除的数 操作可能不合法,每次有效操作之后求集合的mex(最小没有出现过的数) 50组数据+1e6,必须O(N) 维护删除.恢复的数的操作可以队列维护. 数有没有在集合里可以全局bool数组记录 加入删除一个数,mex怎么维护? 考虑化简问题:只插入? 直接mex往上走到第一个没有出现的数即可.单增,O(N) 有删除? 如果删除小的一个数,mex要跳下来,然后再恢复这个删除的数,mex又得一步一步走上去…
综述 第一次 rk1 ,激动. 题目是 COCI 18/19 Round #1 的三至五题. 得分 \(100+100+20\) \(\mathrm{cipele}\) 问题描述 HZOJ1313 题解 二分答案+贪心 发现"最大值最小",自然想到二分答案. 对 \(a,b\) 排序,通过一些操作保证 \(a\) 比 \(b\) 短. 如果 \(b_j\) 不能被 \(a_i\) 选择,那么它一定不能被 \(a_k(k>i)\) 选择. 基于这个贪心配对即可. \(\mathrm…
Description T 城是一个旅游城市,具有 nnn 个景点和 mmm 条道路,所有景点编号为 1,2,...,n1,2,...,n1,2,...,n.每条道路连接这 nnn 个景区中的某两个景区,道路是单向通行的.每条道路都有一个长度. 为了方便旅游,每个景点都有一个加油站.第 iii 个景点的加油站的费用为 pip_ip​i​​,加油量为 cic_ic​i​​.若汽车在第 iii 个景点加油,则需要花费 pip_ip​i​​ 元钱,之后车的油量将被加至油量上限与 cic_ic​i​​…
麻烦的动态DP写了2天 简化题意:给树,求比给定独立集字典序大k的独立集是哪一个 主要思路: k排名都是类似二分的按位确定过程. 字典序比较本质是LCP下一位,故枚举LCP,看多出来了多少个独立集,然后判断:枚举完LCP,再往回做过去. 外面: 假如是一串0101010表示每个点有没有在独立集里,然后比较这个01串的字典序? 枚举LCP,LCP下一位:原来是0,这次就是1:原来是1,这次必须还是1.后面的随便选择.找方案数 但是这里是一般的字典序,两个1中间的0都会省略,使得大小比较没有那么容易…
下面给出部分分做法和满分做法 有一些奇妙的方法可以拿到同样多的分数,本蒟蒻只能介绍几种常见的做法 如果您想拿18分左右,需要了解:质因数分解 如果您想拿30分左右,需要了解:一种较快的筛法 如果您想拿70分左右,需要了解:莫比乌斯反演+杜教筛+整除分块+容斥 如果您想拿100分,需要了解:线性筛+杜教筛+莫比乌斯函数+狄利克雷卷积+推式子+微积分+整除分块 这时候如果您还想做这道题的话... 18分做法 首先N=1 时,就是求不超过 M的完全平方数有多少个,直接输出\(\lfloor \sqrt…