bzoj-3622 已经没有什么好害怕的了 题目大意: 数据范围:$1\le n \le 2000$ , $0\le k\le n$. 想法: 首先,不难求出药片比糖果小的组数. 紧接着,我开始的想法是 $f_{(i,j)}$表示前$i$个糖果中,满足糖果比药片大的组数是$j$的方案数. 进而发现需要将两个数组排序. 到这里一切都很正常,但是我们发现了一个问题:就是我在转移的时候,分两种情况讨论.第一种是当前糖果配对的药片比自己大,第二种是比自己小. 这样的话我需要乘上两个组合数. 但是我们仔细…
显然可以转化为一个阶梯状01矩阵每行每列取一个使权值和为k的方案数.直接做不可做,考虑设f[i][j]为前i行权值和至少为j,即在其中固定了j行选1的方案数.设第i行从1~a[i]列都是1且a[i]+1列是0,则f[i][j]=f[i-1][j]+f[i-1][j-1]*(a[i]-j+1).剩下的可以随便填,于是f[n][i]*=(n-i)!.求完之后考虑容斥,权值和恰好为x的在权值和至少为k的方案中被算了C(x,k)次,得ans=Σ(-1)i-kf[n][i]·C(i,k) (i=k~n).…
[BZOJ3622]已经没有什么好害怕的了(动态规划,容斥) 题面 BZOJ 题解 很明显的,这类问题是要从至少变成恰好的过程,直接容斥即可. 首先我们要求的是(糖果>药片)=(药片>糖果)+k,再加上保证不存在相同的数, 所以(糖果>药片)+(药片>糖果)=n,解出(糖果>药片)=\(\frac{n+k}{2}\). 此时我们要求的至少就是"至少存在\(i\)对(糖果>药片)的方案数". 直接算很麻烦,那就\(dp\)算.首先进行排序. 设\(f[…
bzoj3622已经没有什么好害怕的了 题意: 给n个数Ai,n个数Bi,将Ai中的数与Bi中的数配对,求配对Ai比Bi大的比Bi比Ai大的恰好有k组的方案数.n,k≤2000 题解: 蒟蒻太弱了只能引用神犇题解 “ 我们将两个读入的数组排序,令 next[i] 表示最大的 j 满足 A[i]>B[j],令f[i][j]表示枚举到第i个A时,有j组A>B,但剩下的情况是不考虑的,则f[i][j]=f[i-1][j]+f[i-1][j-1]*(next[i]-j+1).但若把 f[n][s] 直…
给定两个数组a[n]与b[n](数全不相等),两两配对,求“a比b大”的数对比“b比a大”的数对个数多k的配对方案数. 据说做了这题就没什么题好害怕的了,但感觉实际上这是一个套路题,只是很难想到. 首先显然“a比b大”的个数是确定的,问题转化成求“a比b大”的数对个数为m的方案数. 不好算考虑容斥,总结下容斥的一些套路.(From ATP's Blog) 1.全部-至少一个+至少两个-…=一个也没有的 2.所有的-一个也没有的=至少有一个的 3.至少有k个的-C(k+1,k)* 至少有k+1个的…
题目链接 BZOJ3622 题解 既已开题 那就已经没有什么好害怕的了 由题目中奇怪的条件我们可以特判掉\(n - k\)为奇数时答案为\(0\) 否则我们要求的就是糖果大于药片恰好有\(\frac{n - k}{2} + k\)个的方案数,我们记为\(K\) 思路1 直接求恰好不好求,想到二项式反演: 如果有 \[b_k = \sum\limits_{i = k}^{n} {i \choose k} a_i\] 那么有 \[a_k = \sum\limits_{i = k}^{n} (-1)^…
3622: 已经没有什么好害怕的了 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 1033  Solved: 480[Submit][Status][Discuss] Description Input Output Sample Input 4 25 35 15 4540 20 10 30 Sample Output 4 HINT 输入的2*n个数字保证全不相同. 还有输入应该是第二行是糖果,第三行是药片 考虑dp两个数组排序,可以求出有m组糖…
原文链接https://www.cnblogs.com/zhouzhendong/p/9276479.html 题目传送门 - BZOJ3622 题意 给定两个序列 $a,b$ ,各包含 $n$ 个数字. 现在给 $a$ 中元素与 $b$ 中元素配对.问使得所有配对中 $a_?>b_?$ 的个数比 $a_?<b_?$ 的个数恰好多 $k$ 的方案总数. 答案对 $10^9+9$ 取模,保证 $a$ 和 $b$ 中的所有数字互不相同. $n\leq 2000$ 题解 首先闭着眼睛排个序. 然后,…
Description Input Output Sample Input 4 2 5 35 15 45 40 20 10 30 Sample Output 4 HINT 输入的2*n个数字保证全不相同. 还有输入应该是第二行是糖果,第三行是药片 首先$a_i>b_i$的情况数: $k=\frac{n+k}{2}$ 如果不能整除则无解 先按a,b排序 预处理出$l[i]$,表示$a_i$大于$b_j$的最大j 这样设f[i][j]表示当前a序列第i个数,有j组$a>b$的方案 使$a_i>…
Description Input Output Sample Input 4 2 5 35 15 45 40 20 10 30 Sample Output 4 HINT 输入的2*n个数字保证全不相同. 还有输入应该是第二行是糖果,第三行是药片 Sol 先把两个数组排序,能够把题目的分析难度降低一些. 然后我们求出\(r[i]\)表示b中小于\(a[i]\)的最靠右的位置,这样dp的时候就能够\(O(1)\)转移了. 设\(f[i][j]\)表示考虑了i位,至少有j个满足a>b的方案数. 显然…
题目描述 给出 \(n\) 个数 \(a_i\)​ ,以及 \(n\) 个数 \(b_i\)​ ,要求两两配对使得 \(a>b\) 的对数减去 \(a<b\) 的对数等于 \(k\) . \(0≤k≤n≤2000\),保证 \(a,b\) 无相同元素. 题解 我们假设 \(a>b\) 对数为 \(x\) ,可以求得 \(x=\frac{n+k}{2}\) . 先对两个数组都排序 设\(pos[i]\)表示最大的\(j\)使得\(a_i>b_j\) 我们令 \(f_{i,j}\)​…
点此看题面 大致题意: 有\(n\)个糖果和\(n\)个药片,各有自己的能量.将其两两配对,求糖果比药片能量大的组数恰好比药片比糖果能量大的组数多\(k\)组的方案数. 什么是广义容斥(二项式反演) 我们首先来介绍一下什么是广义容斥. 我们要证明下面这样一个式子: \[f_n=\sum_{i=0}^nC_n^ig_i⇔g_n=\sum_{i=0}^n(-1)^{n-i}C_{n}^if_i\] 观察右边这个式子,我们将\(f_n=\sum_{i=0}^nC_n^ig_i\)代入就可以得到: \[…
分析 说白了就是一道先DP再二项式反演的水题,然后被脑残博主把"多\(k\)组"看成了"糖果比药片能量大的组数恰好为\(k\)组",还改了各种奇怪的地方,最后看了别人的题解才突然意识到这一点. 看来博主离退役不远了,快把我拖走吧没救了没救了. 代码 #include <bits/stdc++.h> #define rin(i,a,b) for(register int i=(a);i<=(b);++i) #define irin(i,a,b) fo…
Description: ​ 有两个数组a和b,两两配对,求 \(a_i>b_i\) 的配对比 \(b_i>a_i\) 的配对多 \(k\) 个的方案数 \(k\le n\le 2000\) Solution: ​ 先将 \(a,b\) 排序,求出 \(cnt[i]\) 表示比 \(a[i]\) 小的 \(b[j]\) 有多少个,然后恰好k个不好求,求至少 \(k\) 个,然后容斥. ​ 设 \(dp[i][j]\) 表示到 \(a\) 的前 \(i\) 位,有 \(j\) 对 \(a>…
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=3622 题解 首先显然如果 \(n - k\) 为奇数那么就是无解.否则的话,"糖果"比"药片"大的组数,应该为 \(\frac {n+k}2\). 考虑到多恰好 \(k\) 组不太好求,但是如果选了 \(k\) 组必须是"糖果"比"药片"大,这个方案数还是很好求的. 首先是选了 \(k\) 组必须是"糖果&quo…
赛前任务 tags:任务清单 前言 现在xzy太弱了,而且他最近越来越弱了,天天被爆踩,天天被爆踩 题单不会在作业部落发布,所以可(yi)能(ding)会不及时更新 省选前的练习莫名其妙地成为了Noip前的杂题训练,我也很无奈啊 做完了的扔最后,欢迎好题推荐 这么多题肯定是完不成了,能多做一道是一道吧 DP yyb真是强得不要不要的辣:http://www.cnblogs.com/cjyyb/category/1036536.html [ ] [SDOI2010]地精部落 https://www…
因为这几天要加油,懒得每篇都来写题解了,就这里记录一下加上一句话题解好了 P4071 [SDOI2016]排列计数   组合数+错排 loj 6217 扑克牌 暴力背包 P2511 [HAOI2008]木棍分割 第一问二分,第二问记$dp[i][j]$为前$i$根砍$j$刀的方案,那么它可以由所有$sum[i]-sum[k]<=ans1$的$k$转移而来,用滚动数组优化空间,用队列的形式优化转移 P1410 子序列 贪心能过(数据水).dp的话,考虑$f[i][j]$表示前面$i$个数的最长上升…
待学的习: https://www.cnblogs.com/xiao-ju-ruo-xjr/p/9149792.html 待写的题: loj#3184:「CEOI2018」斐波那契表示法 luoguP3634: [APIO2012]守卫 hdu5316: Magician luoguP4121: 双面棋盘 loj#6515:「雅礼集训 2018 Day10」贪玩蓝月 bzoj3272: Zgg吃东西 luogu polya模板 luoguP3321: [SDOI2015] 序列统计 bzoj45…
http://blog.csdn.net/jiben2qingshan/article/details/9249139 概述 网站是由一个个页面组成的,是万维网具体的变现形式,关于万维网,网页的方面的理论知识,大家可以看一看这篇博客:万维网文档,在这里就不多说了.网站的发布要到达的一个目的就是,别人可以通过浏览器访问该网站里的页面. 网站的发布从程序源代码的存在形式可分为:源码发布和预编译发布.源码发布是源代码未经过编译,直接发布:预编译发布是源代码的部分程序集经过编译,生成相应的DLL文件后发…
v0.2 - Last updated November 8, 2013 源自 Google's C++ coding style rev. 3.274 目录 由 DocToc生成     头文件        #define用法        前向声明        内联函数        -inl.h文件        函数参数顺序        include的命名和顺序    作用域        命名空间            未命名空间            命名空间       …
概述 网站是由一个个页面组成的,是万维网具体的变现形式,关于万维网,网页的方面的理论知识,大家可以看一看这篇博客:万维网文档,在这里就不多说了.网站的发布要到达的一个目的就是,别人可以通过浏览器访问该网站里的页面. 网站的发布从程序源代码的存在形式可分为:源码发布和预编译发布.源码发布是源代码未经过编译,直接发布:预编译发布是源代码的部分程序集经过编译,生成相应的DLL文件后发布的,这两种发布形式,其界面的程序集是不经过预编译的,并且,他们都需要万维网服务器.服务器就是一个软件,在普通的PC上可…
前言:本文主要涉及知识点包括新浪微博爬虫.python对数据库的简单读写.简单的列表数据去重.简单的自然语言处理(snowNLP模块.机器学习).适合有一定编程基础,并对python有所了解的盆友阅读. 甩锅の声明 1.本数据节选自新浪热门微博评论,不代表本人任何观点 2.本人不接受任何非技术交流类批评指责(夸我可以) 3.本次分析结果因技术问题存在一定误差(是引入的包的问题,不是我的) 4.本次选取热门微博为一个月以前的(翻译一下:热点已经冷了,我只是个写教程的) 4.顶锅盖逃 继上次更完"国…
本文以延参法师的腾讯微博为例进行爬取并分析 ,话不多说 直接附上源代码.其中有比较详细的注释. 需要用到的包有 BeautifulSoup WordCloud jieba # coding:utf-8 import requests from bs4 import BeautifulSoup import matplotlib.pyplot as plt from wordcloud import WordCloud import jieba def myDearWeiboCrawler(url…
更新 1.在使用的时候,特别是更新数据的时候,如果不知道哪里有问题,可以查看数据库 和 实体类 的字段,是否大小写一致,比如 name 和 Name 2.在使用Sqlsugar 的 CodeFirst的时候,记得要先重建一个空的数据库,不然会提示错误. 3.要学会使用数据库监控分析器 代码已上传Github+Gitee,文末有地址 书接上文:<从壹开始前后端分离[ .NET Core2.0 Api + Vue 2.0 + AOP + 分布式]框架之六 || API项目整体搭建 6.1 仓储>,…
包和引入 摘要: 在本篇中,你将会了解到Scala中的包和引入语句是如何工作的.相比Java不论是包还是引入都更加符合常规,也更灵活一些.本篇的要点包括: 1. 包也可以像内部类那样嵌套 2. 包路径不是绝对路径 3. 包声明链x.y.z并不自动将中间包x和x.y变成可见 4. 位于文件顶部不带花括号的包声明在整个文件范围内有效 5. 包对象可以持有函数和变量 6. 引入语句可以引入包.类和对象 7. 引入语句可以出现在任何位置 8. 引入语句可以重命名和隐藏特定成员 9. java.lang.…
v0.2 - Last updated November 8, 2013 源自 Google's C++ coding style rev. 3.274 目录 由 DocToc生成     头文件        #define用法        前向声明        内联函数        -inl.h文件        函数参数顺序        include的命名和顺序    作用域        命名空间            未命名空间            命名空间       …
目录 1. 头文件 1.1. Self-contained 头文件 1.2. #define 保护 1.3. 前置声明 1.4. 内联函数 1.5. #include 的路径及顺序 2. 作用域 2.1. 命名空间 2.2. 匿名命名空间和静态变量 2.3. 非成员函数.静态成员函数和全局函数 2.4. 局部变量 2.5. 静态和全局变量 3. 类 3.1. 构造函数的职责 3.2. 隐式类型转换 3.3. 可拷贝类型 3.4. 结构体 VS. 类 3.5. 继承 3.6. 多重继承 关于该规则…
一.多态与多态性 1.多态 (1)什么是多态 多态指的是一类事物有多种形态,(一个抽象类有多个子类,因而多态的概念依赖于继承) 序列类型有多种形态:字符串,列表,元组. 动物有多种形态:人,狗,猪 文件有多种形态:文本文件,可执行文件 import abc class Animal(metaclass=abc.ABCMeta): #同一类事物:动物 @abc.abstractmethod def talk(self): pass class People(Animal): #动物的形态之一:人…
Google C++编程风格指南 - 中文版 from http://code.google.com/p/google-styleguide/ 版本: 3.133原作者: Benjy Weinberger Craig Silverstein Gregory Eitzmann Mark Mentovai Tashana Landray翻译: YuleFox yospaly项目主页: • Google Style Guide • Google 开源项目风格指南 - 中文版 PS: 可以对比 Linu…
Google开源项目风格指南 来源 https://github.com/zh-google-styleguide/zh-google-styleguide Google 开源项目风格指南 (中文版) 在线文档托管在 ReadTheDocs : 在线阅读最新版本 中文风格指南 GitHub 托管地址:zh-google-styleguide Note 声明. 本项目并非 Google 官方项目, 而是由国内程序员凭热情创建和维护. 如果你关注的是 Google 官方英文版, 请移步 Google…