ICode9

精准搜索请尝试: 精确搜索
  • #容斥,莫比乌斯函数#洛谷 2231 [HNOI2002]跳蚤2020-11-24 11:31:59

    题目 分析 考虑公约数为\(x\)很好做,就是\(\lfloor\frac{m}{x}\rfloor^n\), 这可以用枚举约数实现容斥当然也可以用莫比乌斯函数, 答案也就是\(\sum_{d|m}\mu(d)(\frac{m}{d})^n\) 代码 #include <cstdio> #include <cctype> #include <map> #define rr register using namespace s

  • [codechef] Counting D-sets(容斥原理)2020-11-24 08:00:36

    Problem 题目地址 Solution 首先做一步转换,强制所有的点向坐标轴平移,这样对于每一维至少有一个点该维的坐标是 \(0\)(以下简述为:每一维至少一个 \(0\)。) 这样一个点集的直径就是这个点集每一维每个点该维最大坐标的最大值。 对于恰好这个条件,不好求。可以转化为设 \(f(D)\) 为直径

  • [BZOJ 4767] 两双手(容斥/DP)2020-11-23 11:34:09

    Problem [#4767.两双手] 题目地址 [#3782. 上学路线] 题目地址 一道很像的题。 Solution 将两个行走方式看做两个二维向量 \(\vec{A},\vec{B}\),令其为该向量空间的基,对该空间变换后,得到每个禁止点的新坐标和终点的新坐标。 可以发现从一个点 \(u(u_1,u_2)\) 走到另外一个点 \(v(v_

  • [HNOI2011]卡农(容斥/DP)2020-11-23 10:04:15

    Problem 题目地址 Solution 首先对题意进行一步转换:从 \([1,2^n-1]\) 中选出不重复的 \(m\) 的数,使它们的异或和为 \(0\) 的方案数。 手推一下即可。 为了计算方便,我们考虑顺序,最后再把顺序处理掉(即选择的集合相同,顺序不同视作不同的方案)。 设 \(f[i]\) 表示选择 \(i\) 个数异或

  • 「CTS2019 | CTSC2019」氪金手游(容斥+概率计数)2020-11-21 09:02:35

    分析一波,发现是棵树。 我们先假设是一颗外向树, 考虑\(u\)是以它为根的子树最先抽出来的, 设子树\(W\)和为\(S_u\),全局\(W\)和为\(S\)。 有\(p=\frac{W_u}{S}\sum_{i\ge0}(\frac{S-S_u}{S})^i=\frac{W_u}{S_u}\) 那么我们设\(f[u][S_u]\),转移就是背包一样转移。 现在我们有一些向根

  • 杂文: 日剧《轮到你了》第7集中的组合数学问题2020-11-12 19:32:37

    不务正业系列 剧情是这样的,13个人,每人用一张纸写下了自己(如果有机会)最想杀死的那个人,然后放在一个盲盒里每人随机抽取一张。原本只是想玩个游戏,结果因为某种原因,成了真实事件——纸上的人一个接一个的被杀了。 第七集的末尾,女主与擅长数学的邻居讨论起这个问题,她们开始计算,每个人

  • BZOJ-3505 [Cqoi2014]数三角形(计数+容斥)2020-11-11 19:01:45

    题目描述   给定一个 \(n\times m(1\leq n,m\leq 1000)\) 的网格,计算三点都在格点上的三角形共有多少个。注意三角形的三点不能共线。 分析   一共有 \((n+1)(m+1)\) 个点,所以任选三个点的总方案数为 \(\dbinom{(n+1)(m+1)}{3}\)。   三点共线的方案数等于横着的 \(+\) 竖着

  • CF1425D 容斥 组合数 快速幂求逆元2020-10-18 14:31:37

               上图来源于标程解析 CF 1 #include<iostream> 2 #include<algorithm> 3 #include<cstdio> 4 #include<vector> 5 #define ll long long 6 #define fir first 7 #define sec second 8 using namespace std; 9 typedef pair<in

  • #排列组合,容斥#洛谷 5684 [CSPJX2019]非回文串2020-10-06 22:32:05

    题目 分析 那显然就是\(n!\)减去回文串的方案数 首先如果有超过一个出现奇数次字母那肯定不存在回文串 如果有且仅有一个首先要在次数中选择一个然后其它当偶数处理 偶数那就是首先字母位置选好但顺序可以任意打乱,所以就是多重集的排列数 代码 #include <cstdio> #define rr reg

  • 0926考试T3 容斥原理+组合数学2020-09-27 07:32:30

    0926考试T3 ​ ​ 题目大意: ​ ​ \(n \le 10 ^ 5, 10 ^ 5 \le m \le 10^9, y_i \le 50, 0 \le S \le min(M,\sum y_i)\) ​ ​ 容斥原理 + 组合数学。 ​ ​ 一开始看到这题很蒙啊,根本不知道从哪去想,于是就写了个爆搜。 ​ 我就直接粘题解吧,稍微解释一下。 ​ ​ 把集合根据大

  • Emiya 家今天的饭「容斥+DP」2020-09-26 20:31:23

    题目描述 Emiya 是个擅长做菜的高中生,他共掌握 \(n\) 种烹饪方法,且会使用 \(m\) 种主要食材做菜。为了方便叙述,我们对烹饪方法从 \(1∼n\) 编号,对主要食材从 \(1∼m\) 编号。 Emiya 做的每道菜都将使用恰好一种烹饪方法与恰好一种主要食材。更具体地, Emiya 会做 \(a_{i,j}\) 道不

  • P3298 [SDOI2013]泉 哈希 容斥2020-09-17 08:32:51

    题意: 给定n个元素,每个元素有六个属性,求这n个元素中恰好有k个属性相同的元素对数 范围&性质:\(1\le n \le 10^6,1\le k\le 6\) 分析: 恰好,说明需要容斥,每个元素有多个属性,说明需要哈希判断 好,此题完结 先考虑如何容斥: 按照正常想法,设\(g_i\)表示恰好i个属性相同的元素对数,设\(f_i\)表

  • Code forces E94 G.Mercenaries (容斥原理)2020-08-28 16:01:42

    这道题也是看博客研究了1天。 参考博客 题意: 有n个士兵,第i个士兵只能参与大小在 \(l_{i}\) 到 \(r_{i}\) 的集合的构建。同时有m对仇恨关系,求构建无仇恨关系的集合数量。 题解: 用num[i]表示 可以参与组成大小为 i 的集合的士兵个数 首先如果不考虑任何限制,那么每个大小 k 的贡献

  • Min-max容斥学习笔记2020-08-18 17:01:33

    min-max容斥 给定集合\(S\),设\(max(S)\)为其中最大值,\(min(S)\)为最小值 有 \(max(S)=\sum_{T \in S}(-1)^{|T|+1}min(T)\) \(min(S)=\sum_{T \in S}(-1)^{|T|+1}max(T)\) k-th min-max容斥 \(max(S,k)=\sum_{T \in S}(-1)^{|T|+k}(^{|T|-1}_{\ k-1})min(T)\) 一些推导 \(lcm(S)

  • 容斥原理初探2020-07-30 16:35:25

    前言 确实是初探,因为以前学得太烂了。。。 参考了这篇日报: https://www.luogu.com.cn/blog/KingSann/chu-tan-rong-chi-yuan-li 下面的\(U\)是全集,\(|S|\)表示集合\(S\)的大小。 正常项的容斥原理 大概长成这个样子吧: \[|S_1\cup S_2\cup ...\cup S_m|=\sum_{T\subseteq U}(-1)^

  • HDU 4407 Sum 容斥原理2020-07-03 23:35:31

    回忆 HDU 4135 经典题 Co-Prime 求[a,b]区间与给定素数p互质的个数。 将p质因数分解后容斥即可。 原理就是质因数的倍数就是与p不互素的数。 此题的写法: ll p[maxn]; int cnt; ll n; void init(ll m) { for (int i = 2; i * i <= m; i++) { if (m % i == 0) {

  • 2020年牛客算法入门课练习赛3 (A bfs B 容斥 C 线段树+主席树 D 暴力最短路 E 思维构造 )2020-06-30 10:38:59

    昨晚 div3 A 出了 最后一题,只有100左右人 A 的题有点兴奋 玩到2点,中午没睡着,傍晚吃了一颗维生素C(助睡眠)睡了20分钟,扛着迷迷糊糊的大脑来打这场。然后就没打好,四个题都会写,就是A题找bug浪费n久。导致赛时2题,赛后半小时又两题  A-胖胖的牛牛 做法:经典bfs水题了。不会的去面壁,

  • HDU 4336 Card Collector 容斥 数学期望 概率2020-06-25 20:55:33

    题意:给出N个物品及每次获得第i个物品的概率 问获得所有物品的次数的期望、 从简单考虑 若只有一个物品  获得一个物品的期望是1/p (1/p * p = 1)  这样可以推理得到 E1 = 1 / p1 , E2 = 1/ p2 , E12 = 1 / (p1+p2)  (即获得第一个物品或第二个物品的期望) 这样如果要计算获得第一个

  • 「JOI 2018 Final」毒蛇越狱2020-06-15 20:59:30

    目录题目题解代码 题目 传送门 题解 这道题写了两天,终于学懂了 在机房大佬 \(\text{JZM}\) 的帮助下,我总算是拿下这道十分巧妙的题。 设 \(\text{cnt}_i\) 为 \(i\) 的数量。 首先,如果只有一组数据,我们可以直接 \(\mathcal O(2^{\text{cnt}_?})\) 暴力算。 但是由于有 \(Q\) 组询

  • P4491 [HAOI2018]染色 广义容斥 NTT 生成函数2020-06-08 21:55:55

    LINK:染色 算是比较常规的广义容斥。 算恰好k个 可以直接转成至少k个。 至少k个非常的好求 直接生成函数。 设\(g_k\)表示至少有k个颜色是满足的 那么有 \(g_k=C(m,k)\frac{n!}{(s!)^k}\frac{(m-k)^{n-sk}}{(n-sk)!}\) 设\(f_k\)表示恰好有k个颜色是满足的 那么有 \(f_k=\sum_{j=k}

  • 宝石装箱 容斥+dp2020-05-23 09:52:09

    题目链接 参考博客 题目: 有n个宝石和n个箱子,每个箱子只能放一个宝石且第i个宝石不能放在a[i]箱子中,问合适的放法数量,mod 998244353; 题解: 总数减去不合法排列的数量就是要的答案。 计算不合法排列数量时容易明白需要用到容斥的做法。得到公式: \(res = n! - \sum_{i = 1}^{n}

  • 习题:染色(容斥)2020-05-16 17:03:55

    题目 传送门 思路 题目难点主要为如何求出每一种愉悦度会出现多少次 考虑一个函数\(f(i)\),至少出现\(S\)次颜色有\(i\)种的方案总数 因为颜色实际上没有区别,所以先从\(m\)种颜色选\(i\)种,即\(C_m^i\) 因为函数的定义中是至少, 首先考虑满足条件, 即为\(\prod_{j=0}^iC_{n-js}^{s}=\p

  • Happy 2006 POJ - 2773 容斥原理+二分2020-05-13 21:54:23

    题意: 找到第k个与m互质的数   题解: 容斥原理求区间(1到r)里面跟n互质的个数时间复杂度O(sqrt(n))… 二分复杂度也是O(log(n)) 容斥原理+二分这个r   代码: 1 #include<stdio.h> 2 #include<string.h> 3 #include<iostream> 4 #include<algorithm> 5 #include<math.h> 6 #i

  • GCD HDU - 1695 容斥原理(复杂度低的版本)2020-05-13 18:58:12

    题意: 让你从区间[a,b]里面找一个数x,在区间[c,d]里面找一个数y。题目上已经设定a=b=1了。问你能找到多少对GCD(x,y)=k。x=5,y=7和y=5,x=7是同一对   题解: 弄了半天才知道我得容斥原理方法卡时间了,我那个复杂度太高了。。。卧槽了   老版本的这里可以看:HDU - 4135 容斥原理    

  • CF EC 86 E Placing Rooks 组合数学2020-04-27 20:00:10

    LINK:Placing Rooks 丢人现场.jpg 没看到题目中的条件 放n个rook 我以为可以无限放 自闭了好半天。 其实只用放n个。那么就容易很多了。 可以发现 不管怎么放 所有列/所有行 都必须得放有。 那么最多只有n-1个pairs 当k==0时 容易发现是一个n!. 总之还是迷了很久。一道比较锻炼我当

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有