【TJOI 2019】唱、跳、rap和篮球】的更多相关文章

显然答案可以理解为有(不是仅有)0对情况-1对情况+2对情况-- 考虑这个怎么计算,先计算这t对情况的位置,有c(n-3t,t)种情况(可以理解为将这4个点缩为1个,然后再从中选t个位置),然后相当于在剩下n-4t的位置上摆上4种东西,且每种东西有数量限制(ai-t个). 这个东西dp一下即可,用f[i][j]表示选了前i中东西,用了j个位置的方案数,则有转移$f[i][j]=\sum\limits_{ai-t\geq j-k\geq 0,j\geq 0}f[i-1][k]\cdot c(n-4…
您想要将Android设备连接到Ubuntu以传输文件.查看Android通知.以及从Ubuntu桌面发送短信 – 你会怎么做?将文件从手机传输到PC时不要打电话给自己:使用GSConnect就可以.很简单:您只需要一个像Ubuntu这样的Linux发行版和一个名为"GSConnect"的开源GNOME Shell扩展. GSConnect是一个完全免费,功能丰富的附加组件,可让您通过无线网络将Android手机连接到Ubuntu,无需USB线!在这篇文章中,我们将讨论扩展提供的功能,…
[TJOI2019]唱.跳.rap和篮球 这么多人过没人写题解啊 那我就随便说说了嗷 这题第一步挺套路的,就是题目要求不能存在balabala的时候考虑正难则反,要求必须存在的方案数然后用总数减,往往更简单. 这个题呢直接要求存在发现还不咋好求,反正就是存在嘛我们就容斥好了. 呐,我们就枚举至少有多少段(唱跳rap篮球). 假设有\(i\)段,那么枚举一下这\(i\)段的位置,这是\(\binom{n-3i}{i}\)的. 就相当于给定长度为\(n-3i\)的空格,选出\(i\)个空格为(唱跳r…
题目链接: [TJOI2019]唱.跳.rap和篮球 直接求不好求,我们考虑容斥,求出至少有$i$个聚集区间的方案数$ans_{i}$,那么最终答案就是$\sum\limits_{i=0}^{n}(-1)^i\ ans_{i}$ 那么现在只需要考虑至少有$i$个聚集区间的方案数,我们枚举这$i$个区间的起始点位置,一共有$C_{n-3i}^{i}$种方案(可以看作是刚开始先将每个区间后三个位置去掉,从剩下$n-3i$个位置中选出$i$个区间起点,然后再在每个起点后面加上三个位置). 那么剩下的$…
[luogu5339] [TJOI2019]唱.跳.rap和篮球(容斥原理+组合数学)(不用NTT) 题面 略 分析 首先考虑容斥,求出有i堆人讨论的方案. 可以用捆绑法,把每堆4个人捆绑成一组,其他人每个人一组.这样一共有\(n-3i\)组(这些组可以被看成相同的点). 我们从中选出n-4i个点,这些点展开成1个人,其他\(i\)个点展开成4个人.那么方案数就是\(C_{n-3i}^{n-4i}\) 由于\(i\)堆人的喜好已经确定,最终答案为\(\sum_{i=0}^n (-1)^i \ti…
题意就不用讲了吧-- 鸡你太美!!! 题意: 有 \(4\) 种喜好不同的人,分别最爱唱.跳. \(rap\).篮球,他们个数分别为 \(A,B,C,D\) ,现从他们中挑选出 \(n\) 个人并进行排列,规定不能出现喜爱唱.跳. rap.篮球的人在序列中依次出现,问合法方案数. 下文将喜爱唱.跳. \(rap\).篮球的人依次出现的区间称为聚集区间,长度为 \(4\). 思路(容斥原理 + 生成函数 + \(\mathcal{NTT}\)) 首先,我们可以发现如果顺着求方案数并不好求.秉持顺难…
题意 有 $a$ 个 $0$,$b$ 个 $1$,$c$ 个 $2$,$d$ 个 $3$,求有多少种长度为 $n$ 且不包含 $0123$ 这个子串的字符串个数. $n\le 1000,\space a+b+c+d\le 500$ 题解 方法1 推式子卷积 方法2 容斥 传送门 讲得很清楚,这里不再赘述…
算是补了个万年大坑了吧. 根据 wwj 的题解(最准确),设一个方案 \(S\)(不一定合法)的鸡你太美组数为 \(w(S)\). 答案就是 \(\sum\limits_{S}[w(S)=0]\). 用二项式定理:\(\sum\limits_{S}[w(S)=0]=\sum\limits_{S}(1-1)^{w(S)}=\sum\limits_{S}\sum\limits_{i\ge 0}(-1)^i\binom{w(S)}{i}=\sum\limits_{i\ge 0}(-1)^i\sum\l…
原题传送门 这题zsy写的是\(O(n^2)\),还有NTT\(O(n^2\log n)\)的做法.我的是暴力,\(O(\frac{a b n}{4})\),足够通过 考虑设\(f(i)\)表示序列中至少有\(i\)组人讨论cxk的方案数 这样就珂以进行容斥,易知答案ans为: \[ans=\sum_{i=0}^{Min(n/4,a,b,c,d)} (-1)^i f(i)\] 我们考虑如何计算\(f(i)\) 如果视讨论cxk的组为一个元素,则一共有\(n-3*i\)个元素 我们把问题转换成一个…
嘟嘟嘟 TJ律师函警告 20分暴力比较好拿,因为每一种学生可以理解为无限多,那么总方案数就是\(C_{n} ^ {4}\),然后我们枚举至少讨论cxk的有几组,容斥即可. 需要注意的是,容斥的时候还要考虑每一组的位置可以不一样,因此要用插板法计算方案:\(C_{i + n - 4i} ^ {i}\). 剩下虽然没给暴力分,但其实能水到68. 我们\(O(n ^ 3)\)枚举\(a, b, c\)人数(这样就能算出来\(d\)的人数),设分别为\(i, j, k, h\).然后根据可重集的全排列公…
当时看到这道题的时候我的脑子可能是这样的: My left brain has nothing right, and my right brain has nothing left. 总之,看到"没有鸡你太美"这一类就直接想容斥,转化为”选出$i$个鸡你太美“ 看到排列问题,直接想指数型生成函数. 设$m=\min(\frac{n}{4},a,b,c,d)$ 我们使用万年不变的捆绑法,将鸡你太美当做整体考虑,即在$n-3i$个元素中选$i$个作为鸡你太美,再对其他四种进行全排列. $$…
先附一组sd图 然后放上原题链接 注意,队伍不同指的是喜好不同,不是人不同 先想到\(DP\),然后你会发现并没有什么优秀的状态设计,然后我们考虑容斥 设\(lim\)表示选的癌坤组数的上限,\(f_i\)为先选出来\(i\)组剩下随便排的方案数,那么答案就是 \[\sum\limits_{i=0}^{lim}(-1)^i\times\ f_i\] 于是问题转化为了求\(f_i\).显然\(f_i\)可以表示为一个组合数再乘一个东西,具体来说组合数代表在\(n\)个同学中选\(i\)组癌坤的方案…
题目链接 题目分析 据说这是一道生成函数题 看到限制条件,我们首先想到的就是对有多少组讨论cxk的人进行容斥.然后就是求剩下的人随便放有多少种方法了.考虑现在每种剩\(a,b,c,d\)人,还需要排\(n\)人,那么方案数就是 \[ \sum_{i=1}^a\sum_{j=1}^b\sum_{k=1}^c\sum_{l=1}^d [i+j+k+l=n]{n\choose i}{n - i\choose j}{n-i-j\choose k}{n-i-j-k\choose l} \] 其中\([]\…
分析 令\(f(i)\)表示共\(i\)组同学讨论cxk的位置的方案数(不考虑其他位置上的人的爱好),这个数组可以很容易地通过依次考虑每个位置是否是四个人中最后一个人的位置来递推求解,时间复杂度\(O(n^2)\). 令\(g(i)\)表示共\(i\)组同学讨论cxk,剩下的\(n-4i\)个位置上的人的爱好的方案数.这个数组可以通过对每种情况,分别写出四种爱好的\(EGF\),然后\(NTT\)合并求解,时间复杂度\(O(n^2 \log n)\). 统计答案的话很简单,容斥一下就好了: \[…
题目 设\(f_i\)表示从\((a-4i,b-4i,c-4i,d-4i)\)中选\(n-4i\)个排队的方案数. 那么我们可以容斥,答案为\(\sum\limits_{i=0}^{lim}(-1)^i{n-3i\choose i}f_i\). 考虑一下这个\(f\),它就是四个指数型生成函数卷起来\((\sum\limits_{i=0}^a\frac{x^i}{i!})(\sum\limits_{i=0}^b\frac{x^i}{i!})(\sum\limits_{i=0}^c\frac{x^…
分析  代码 #include<bits/stdc++.h> using namespace std; #define int long long ; ; ],inv[],G,cc[][],a[],b[],c[],d[],r[]; inline int pw(int x,int p){ ; while(p){ )res=1ll*res*x%mod; x=1ll*x*x%mod; p>>=; } return res; } inline void ntt(int a[],int n,…
工厂模式(Factory),当需要根据运行时的一些条件来决定创建具体对象时,就应该考虑使用工厂设计模式,将创建对象的任务交给工厂集中处理. 工厂模式有多种写法,总体分为简单工厂模式和抽象工厂模式 工厂模式示例:星工场 加入星工场可以生产各种明星:唱歌的,跳舞的,打篮球的... 明星抽象类 public abstract class Star { public abstract void show(); } 唱歌的 public class SingStar extends Star { @Ove…
Comet OJ 2019 夏季欢乐赛题解 我是来骗访问量的 A 完全k叉树 \(n\)个点的完全k叉树的直径. 直接做 B 距离产生美 直接做 C 烤面包片 \(n!!!\mod p\) 显然\(n\)太大就是0,不然直接暴力 D 茶颜悦色 原题 E 飞行棋 最后肯定是起点->最后\(k\)个点->终点(弹回去->..->弹回去->..->终点) 矩乘做出起点到最后\(k\)个点的概率\(f_i\)与期望步数\(g_i\). 最后\(k\)个点任意一个点走到终点的期望…
洛谷 P2791 幼儿园篮球题 https://www.luogu.org/problemnew/show/P2791 我喜欢唱♂跳♂rap♂篮球 要求的是:\(\sum_{i=0}^kC_m^iC_{n-m}^{k-i}i^L\) 这个\(i^L\)很烦,就把第二类斯特林数的式子套进去 \(\sum_{i=0}^kC_m^iC_{n-m}^{k-i}i^L\) \(\sum_{i=0}^kC_m^iC_{n-m}^{k-i}\sum_{j=0}^iC_{i}^j\begin{Bmatrix}L…
目录 django 模版语法与使用 django模板语言介绍 (摘自官方文档) 链接 什么是模板? 模板语句的 注释 变量 {{ 变量 }} 点(.)在模板语言中有特殊的含义,用来获取对象的相应属性值. Tags 标签 {% %} 表示逻辑相关的操作 for循环可用的一些参数: Filters 过滤器 自定义 filter 自定义标签 simpletag 自定义标签 inclusion_tag csrf_token 跨站请求伪造保护 静态文件相关 母版和继承 组件 django 模版语法与使用…
目录 Django 模版语法与使用 django模板语言介绍 (摘自官方文档) 链接 什么是模板? 模板语句的 注释 变量 {{ 变量 }} 点(.)在模板语言中有特殊的含义,用来获取对象的相应属性值. Tags 标签 {% %} 表示逻辑相关的操作 for循环可用的一些参数: Filters 过滤器 自定义 filter 自定义标签 simpletag 自定义标签 inclusion_tag csrf_token 跨站请求伪造保护 静态文件相关 母版和继承 组件 Django 模版语法与使用…
1.函数的初识 初始函数 获取任意一个字符串的元素的个数 s1='dsjdkjkfefenga' count=0 for i in s1: count+=1 print(count) 获取列表的元素的个数 l1 = [1, 2, 3] count = 0 for i in l1: count += 1 print(count) 面向过程编程 1. 代码重复. 2. 代码可可读性不高 初始函数 l1 = [1, 2, 3] def new_len(): count = 0 for i in l1:…
姓名 蒋东航 学号 201731062328 这个作业属于哪个课程 课程链接 这个作业要求在哪里 作业要求链接 团队名称 机你太美(团队博客链接) 这个作业的目标 了解其他团队项目,学习其他团队优秀方法 作业正文 .... 注意代码要按格式上传 其他参考文献 ... 测试项目一 测设项目名 Heacher 测试项目团队 Successful Wonder 这个作业的目标Alpha发布说明的博客地址 博客链接 测试结果 1.上手体验感觉如何?能否正常运行? 感觉他们做的很可以,正常运行肯定是没问题…
1. 位置/关键字传参的缺点 当给函数传入的参数数目不定时,之前的传参方式解决不了问题. def eat(food1,food2,food3): print(f'我请你吃:{food1},{food2},{food3}') eat('蒸羊羔','蒸熊掌','蒸鹿尾') 万能参数,动态参数. *args def eat(food1,food2,food3): print(f'我请你吃:{food1},{food2},{food3}') eat('蒸羊羔','蒸熊掌','蒸鹿尾','烧花鸭','烧企…
这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/3338 这个作业要求在哪里 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/3338 团队名称 唱跳RAP篮球 这个作业的目标 每个同学必须选取非自己所在团队的3个项目进行测试. 在你所测试的项目的Alpha发布说明的博客下以留言的形式提出…
软件梦之队成员:201731062305 周蓉 这个作业属于哪个课程 <课程的链接> 这个作业要求在哪里 <作业要求的链接> 团队名称 <软件梦之队>(附上团队博客链接) 这个作业的目标 完成对其他项目组的项目测试,通过体验发现问题,相互建议进步 测试项目一:“爱管理”APP(团队:唱跳RAP篮球_博客链接) (一)测试截图     (二)测试感受及建议 首先,这个app的体验感很强,个人觉得登陆注册等,都让用户很轻松体验,有错误提示等,还可以设置主题,修改个人信息等.…
个人简介 潘旻琦:我是潘旻琦:我的爱好是游泳:羊肉泡馍是海大食堂中我最喜欢的一道菜(清真食堂):一句想说的话是:“追随本心,坚持不懈”. 郭念帆:我是郭念帆:我的爱好是足球:海大食堂中最喜欢的一道菜偏向于三餐的自选:想说的一句话是“希望我们都能够年少有为不自卑”. 刘杰:我是刘杰,我的爱好是发呆,我喜欢旋转小火锅(二餐二层),我不想当码农(→_→). 王成贺:我是王成贺,我的爱好的是吃肉听歌玩游戏,我最喜欢东区阿坤羊肉馆的肥牛拌饭.希望每天都能开心. 王健:我是王健:我的爱好是玩:我最喜欢烤香鸡…
目录 一.整型(int) 二.浮点型(float) 三.字符串类型(str) 字符串在python2和python3中的细微区别 四.复数 五.列表(list) 六.数据字典(dict) 定义方式 七.布尔值(bool) 定义 ==和is 一.整型(int) python2中有long类型 python3中没有long类型,只有int类型 整形,用来记录年龄,人数等整数相关的状态 age = 21 students = 65 print(type(age)) <class 'int'> # 类…
前言 其实没有设计模式我们也能完成开发工作.但是为什么需要设计模式呢?让你看起来很牛,没错这个算一个.让你的代码层次感分明,可读性强而且容易维护.让你像我一样有更多的摸鱼划水时间. 可能有人说我一个类或者方法就干完的东西,你搞了七八个.当然使用设计模式也是要斟酌的.一些简单稳定的业务也不推荐使用设计模式.设计模式多用于复杂多变的业务或者要求适配性.扩展性更强的场景中.不要为了设计模式而设计模式. 接下来我们结合实际开探讨一下设计模式的一些原则. 1.开闭原则 public class Selle…
利用JavaFX实现一个学生登陆的界面,其中包括各种JavaFX组件的使用,利用焦点变动自动检测内容的合法性和监控文本输入以及页面的跳转,具体代码如下: /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the edi…