CF 1400G.Mercenaries 题意: 有\(n\)个佣兵,问雇佣至少一名雇佣兵且满足下述条件的方案数 如果雇佣第\(i\)个佣兵必须要求最终雇佣的总人数\(x\)满足\(l_i\le x\le r_i\) 有\(m\)对佣兵不能同时选 \(1\le n\le 3\times 10^5,0 \le m \le \min(20, \dfrac{n(n-1)}{2})\) 题解: 首先对于第一个限制,我们考虑枚举最终雇佣的总人数来做 对于第二个限制,可以把这些不能同时选的点连边,不考虑单独…
CF#581 题解 A BowWow and the Timetable 如果不是4幂次方直接看位数除以二向上取整,否则再减一 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<vector> #include<set> #include<map> using namespace std; #define M…
第一次参加CF的比赛,MSK19.30,四个小时的时差真心累,第一次CODE到这么夜-- 一开始做了A,C两题,后来做B题的时候我体力和精神集中度就很低了,导致一直WA在4-- 今天起床后再刷B,终于过了--坑爹. 来看题目: A. Mashmokh and Lights time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Mash…
后面题太难搞不动 . ABCD 的题解写的好水啊,感觉在写闲话,,, A 若 \(\forall i, a_1\mid a_i\),则可以 . 注意判 \(0\) 的情况 . 提交记录 . B 显而易见 \(\gcd(i,a_i)\le i\) . 根据一些大眼观察,可以发现 \(\gcd(i,a_i)=i\),也就是 \(i\mid a_i\) . 然后暴力乘一下就好了 . 提交记录 . C 一种做法是二分,\(O(n\log n)\) . 一种做法是从后往前贪,根据数学直觉发现这是对的,\(…
首先转化为ans=所有的组合方式 - 在同一水平/竖直线上 - 在同一斜线上 主要考虑在同一斜线上的情况 首先想到枚举斜率然后在坐标系内平移,以(0,0)为起点,每条线上的点数应该是gcd(x,y)比较好理解 所以在这条线段上有gcd(x,y)-1个选择方式(已选(0,0).(x,y)) 可向下/右移动的空间是 n-x.m-y比较显然,所以都乘起来即为贡献 #include<iostream> #include<cstdio> #include<cstring> #de…
题面 这道题竟然是E?还是洛谷中的黑题? wow~!! 于是就做了一下: 然后一下就A了:(这并不代表想的容易,而是写的容易) 这道题就是骗人的!! 什么manacher,什么回文自动机,去靠一边站着,看我的无敌大模拟! 可以设定l,r两个点,初始时分别指向1和n: 如果是s[l]==s[r],那么答案就更新(ans+=2,但当l==r时,ans仅加1就够了): 如果不等,那么就回文自动......诶?等等,题目说只有a,b,c?而且相邻的两位不等?蛤?这是什么情况? 如果s[i]!=s[j],…
Description Input 输入第一行为两个整数n, m, c,即行数.列数和棋子的颜色数. 第二行包含c个正整数,即每个颜色的棋子数. 所有颜色的棋子总数保证不超过nm. N,M<=30 C<=10 总棋子数有大于250的情况. Output 输出仅一行,即方案总数除以 1,000,000,009的余数. Sample Input 4 2 2 3 1 Sample Output 8       $Solution$ 20%:爆搜,没甚么技术含量虽然我考场上还是没打对只骗到10分Orz…
题目链接 题目大意:给定$n,m,k$,求满足$k|C_i^j$的$C_i^j$的个数.$(0\leq i\leq n,1\leq j\leq \min(i,m))$. ---------------- 关于组合数的递推不难想到.简略证明一下. 证明:$C_i^j=C_{i-1}^j+C_{i-1}^{j-1}$. $  C_{i-1}^j+C_{i-1}^{j-1}$ $=\frac{(i-1)!}{j!(i-j-1)!}+\frac{(i-1)!}{(j-1)!(i-j)!}$ $=\fra…
题目大意:求无向图的连通图个数.由于个数可能很大,只需要求出结果$mod1000000009$的值.$n\leq 1000$ ------------------------- 对于一个含有$n$个结点的图,一共有$2^{\frac{n(n-1)}{2}}$种情况(把所有边连或不连都考虑到了,可以自行模拟出来)我们假设$h[n]=2^{\frac{n(n-1)}{2}}$.设$f[n]$表示大小为$n$的图的无向连通图个数.接下来我们假设图中有一个点$1$(叫什么都行). 假设这个点只与$i-1…
最近都会做一些 \(\rm Div1\) 套题中 \(3000\) 分以下的题目. A 直接枚举贪心即可. B 首先不难发现总共可能的 \(c\) 序列只有 \(k!\) 种,很明显要暴力枚举所有情况然后快速判断. 不难发现,判定条件为原图中保留的边会将原图划分成若干个互不相交的简单环,换句话说:所有点的入度与出度均为 \(1\). 注意到出度一定为 \(1\),只需判断所有点的入度为 \(1\) 即可. 于是可以得到一个 \(\mathcal{O(k!n)}\) 的做法,但实际上可以直接预处理…
F 没看所以摆了 . 看拜月教教主 LHQ 在群里代打恰钱 /bx 目录 A. Technical Support (*800) B. Kevin and Permutation (*800) C. Make Nonzero Sum (C1 *1300, C2 *1500) D. Factorial Divisibility (*1600) E. Wish I Knew How to Sort (*2000) A. Technical Support (*800) SoyTony 强啊 . 维护…
1400G - Mercenaries 考场上想到枚举,但是只想到了 \(2 ^ m\) 枚举矛盾,然后用 NOI Online 2 游戏 类似的容斥掉,结果式子推着推着就复杂度爆了 wtcl. (Update:后来看其它大佬的博客是可以的,下面的内容是抄的neal的题解) 如果我们把一个矛盾关系 \((a, b)\) ,在图论意义上连一条边,每个人看作一个点. 这个问题变成了一个独立集计数(还要满足人数限制的)问题. 显然,每个连通图的方案是独立的. 由于有人数限制,我们可以想到枚举人数 \(…
E. Sign on Fence time limit per test 4 seconds memory limit per test 256 megabytes input standard input output standard output Bizon the Champion has recently finished painting his wood fence. The fence consists of a sequence of n panels of 1 meter w…
Aizu 2249 & cf 449B 1.Aizu - 2249 选的边肯定是最短路上的. 如果一个点有多个入度,取价值最小的. #include<bits/stdc++.h> using namespace std; #define fi first #define se second #define mp make_pair #define pb push_back #define rep(i, a, b) for(int i=(a); i<(b); i++) #defin…
Problem A: 序列 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 12  Solved: 9[Submit][Status][Web Board] Description 作为一名火星人,你为了占领地球,需要想方设法使地球人失去信心.现在你获得了一项能 力,控制今后n天的天气温度,对于第i天,你能将温度控制在[ai,bi]中任意一个数字,你的 目的是使其中某段时间,温度持续不下降,趁此来攻击地球.现在问你最多可以使连续的多 少天满足温度不…
题目描述 JYY 带队参加了若干场ACM/ICPC 比赛,带回了许多土特产,要分给实验室的同学们. JYY 想知道,把这些特产分给N 个同学,一共有多少种不同的分法?当然,JYY 不希望任何一个同学因为没有拿到特产而感到失落,所以每个同学都必须至少分得一个特产. 例如,JYY 带来了2 袋麻花和1 袋包子,分给A 和B 两位同学,那么共有4 种不同的分配方法: A:麻花,B:麻花.包子 A:麻花.麻花,B:包子 A:包子,B:麻花.麻花 A:麻花.包子,B:麻花 输入 输入数据第一行是同学的数量…
C. The World is a Theatre time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output There are n boys and m girls attending a theatre club. To set a play "The Big Bang Theory", they need to choo…
题目传送门 题目描述 某中学有n名男同学,m名女同学和两名老师要排队参加体检.他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的) 输入格式 只有一行且为用空格隔开的两个非负整数n和m,其含义如上所述. 输出格式 输出文件output.txt仅包含一个非负整数,表示不同的排法个数.注意答案可能很大. 数据范围与提示 对于30%的数据:n≤100,m≤100对于100%的数据:n≤2000,m≤2000 题解 一道组合数学的入门题…
Day -1 2019.1.2 初步计划: 0x60 图论 std 洛谷提高剩余练习 NOIP2018遗留题解 洛谷省选基础练习 数学: 1.数论 2.组合数学(练习:莫比乌斯反演) 3.概率(练习:概率期望) 4.计算几何 5.函数(CF1096G题解) 洛谷省选高级数据结构练习: 1.单调队列 2.点分治 3.主席树 4.平衡树 5.树链剖分 6.动态树 7.树套树 8.莫队算法 9.分块 Day 0 2019.1.3 复习最短路+最小生成树 std×10 明天计划:树的直径与最近共同祖先+…
题目大意是选出一个其他不选,问问最大概率: 刚开始想到DP:F[I][J][0]:表示从 前I个中选出J个的最大值, 然后对于F[I][J][1]=MAX(F[I-1][J][1],F[I-1][J-1][0]*A[I]+F[I-1][J-1][1]*(1-A[I])); 但是这是错误的因为F[I-1][J-1][0]和F[I-1][J-1][1]不一定对应相同的数.//我错了,可以DP 先来公式:     double temp=f[i-1][j-1][0]*p[i]+f[i-1][j-1][…
CF的专业题解 : The problem was to find greatest d, such that ai ≥ d,  ai mod d ≤ k holds for each i. Let m = min(ai), then d ≤ m. Let consider two cases: . In this case we will brute force answer from k + 1 to m. We can check, if number d is a correct ans…
3473: 字符串 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 109  Solved: 47[Submit][Status] Description 给定n个字符串,询问每个字符串有多少子串(不包括空串)是所有n个字符串中至少k个字符串的子串? Input 第一行两个整数n,k. 接下来n行每行一个字符串. Output 一行n个整数,第i个整数表示第i个字符串的答案. Sample Input 3 1abcaab Sample Output…
3473: 字符串 Description 给定n个字符串,询问每个字符串有多少子串(不包括空串)是所有n个字符串中至少k个字符串的子串? Input 第一行两个整数n,k. 接下来n行每行一个字符串. Output 一行n个整数,第i个整数表示第i个字符串的答案. Sample Input 3 1 abc a ab Sample Output 6 1 3 HINT 对于 100% 的数据,1<=n,k<=10^5,所有字符串总长不超过10^5,字符串只包含小写字母. [分析] 这道题用后缀数…
给一个序列,选择其中一个区间,这个区间内的数字顺序可以随意互换.问有多少这样的选择使得整个序列(不是选择的区间)是一个回文. 说明:为了要使得整个序列是一个回文,可以选择一个区间对里面的数字进行调整,然后使得整个串是一个回文. 问有多少这样的区间可供选择? Input 输入共2行. 第一行有一个整数n.(1 <= n <= 100,000) 第二行n个整数a[i],(0<=a[i]<=n). Output 对于每一组数据,输出答案占一行. 还是跑去cf上看题解... 先把两端回文的…
题意 有n个黑帮(gang),每个黑帮有siz[i]个人,黑帮与黑帮之间有有向边,并形成了一个竞赛完全图(即去除方向后正好为一个无向完全图).在很多年前,有一些人参与了一次大型抢劫,参与抢劫的人都获得了一个真金条. 在这些年间,不同的黑帮之间进行了交易.具体过程是: 在时刻i,假如有一条边是u->v,那么u帮派中的i mod siz[u]号如果有金条(无论真假),并且v帮的i mod siz[v]没有任何金条,那么u中的这个人就会向v中的这个人一个假金条. 经过无数年的交易之后,各个帮派的金条拥…
[CF981F]Round Marriage(二分答案,二分图匹配,Hall定理) 题面 CF 洛谷 题解 很明显需要二分. 二分之后考虑如果判定是否存在完备匹配,考虑\(Hall\)定理. 那么如果不合法,假设我们存在一个极小的集合满足连到右侧的点数小于集合大小.因为是极小的,所以删去一个点之后就可以匹配,那么意为着某个点连出去的点和其他所有点有交,既然有交,那么一定这一段区间都可以加入进来形成一个不合法的集合.所以我们可以把存在一个点集不合法变成存在一段连续区间不合法. 假设每个点连向另外一…
[CF833E]Caramel Clouds(线段树) 题面 CF 洛谷 题解 首先把区间一段一段分出来,那么只有四种情况. 要么没有被任何一朵云被覆盖,那么直接就会产生这一段的贡献. 要么被一朵云覆盖,要么被两朵云覆盖. 要么被三朵及以上的云所覆盖,那么这段的贡献永远取不到. 对于每朵云预处理出只被其覆盖的区间长度\(len[i]\),这样子就能处理只选择一朵云的贡献了. 现在考虑如何处理选择两朵云. 这里有两种情况. 第一种是两朵云无交,那么贡献就是\(len[i]+len[j]\). 否则…
[CF809D]Hitchhiking in the Baltic States(Splay,动态规划) 题面 CF 洛谷 题解 朴素\(dp\):设\(f[i][j]\)表示当前考虑到第\(i\)个元素,结尾位置是\(j\)的最大选择数. 然而这样就很呆. 换个状态:设\(f[i][j]\)表示当前考虑到第\(i\)个元素,长度为\(j\)时,最后一个数可以选择的最小值. 这个东西看起来就舒服多了. 拿\(Splay\)维护第二维,考虑每次加入一个区间对于答案的影响,假装当前加入区间是\([l…
[CF802C]Heidi and Library(网络流) 题面 CF 洛谷 题解 前面两个Easy和Medium都是什么鬼玩意啊.... 不难发现如果这天的要求就是第\(a_i\)种书的话,那么\(a_i\)是必定要存在的. 把每种书拆\(n\)次,然后用每一个流维护一个书架上的位置,那么这样子很容易就可以连出费用流的建图. 但是这样子点数是平方级别,边数是三方级别. 实际上书架上的位置是无序的,因此并不需要全部建出来,只需要考虑在哪些天会被替换. 考虑每本书下一次在什么情况下会被使用,被使…
[CF1082F]Speed Dial(动态规划) 题面 CF 洛谷 题解 把\(Trie\)树建出来之后发现就是一个树型\(dp\),每个点会对于其父亲中第一个被标记的点产生贡献. 那么把第一个点压入状态. 设\(f[i][p][k]\)表示当前点\(i\),其到根的链上第一个被标记的点是\(p\),其子树内总共选了\(k\)个点的最小代价. 枚举儿子是选还是不选进行转移. 时间复杂度\(O(n^2k^2)\) #include<iostream> #include<cstdio>…