当前位置: 首页 > news >正文

怎样做购物网站一个购物网站开发语言

怎样做购物网站,一个购物网站开发语言,百度快照入口,外包装设计网站题目链接:https://leetcode.cn/problems/ccw6C7/description/ 题目大意:给出一块白方格面积为n*n,给出一个数字k,每一次操作可以把方格的某一整行或者某一整列涂黑,求使得黑色格子数字为k的【最终图案】的个数。 思路…

题目链接:https://leetcode.cn/problems/ccw6C7/description/

题目大意:给出一块白方格面积为n*n,给出一个数字k,每一次操作可以把方格的某一整行或者某一整列涂黑,求使得黑色格子数字为k的【最终图案】的个数。

思路:虽然是简单题,但还想了一会的。因为【最终图案数】并不是【操作方法数】。比如2*2的格子,【先涂一行再涂一列】和【先涂一列再涂一行】得到的图案是一样的。我们发现涂的行列具体是哪几行哪几列并不影响最终黑格子的数目,因此可以先得出【需要涂黑x行】和【需要涂黑y列】,然后求组合数 C n x C_n^x Cnx C n y C_n^y Cny的乘积即可。因为x, y对可能有多个,我们用一个vector<pair<int, int>>来保存。

然而要注意一下一些特殊情况:
k < n:那么就算只涂一行也会超过,不行
k == 0:什么都不用做,返回1

求阶乘的话可以用一个数组来保存结果,避免重复计算。

完整代码

class Solution {
public:vector<int> frac;int getFrac(int x) {if (x == 0)return frac[0] = 1;if (frac[x])return frac[x];elsereturn frac[x] = x*getFrac(x-1);}int paintingPlan(int n, int k) {if (k == 0)return 1;if (n > k)return 0;if (n*n == k)return 1;int ans = 0;vector<pair<int, int>> res;frac.resize(n+1, 0);for (int x = 0; x < n; x++) {for (int y = 0; y < n; y++) {if (x*n+y*(n-x) > k)break;else if (x*n+y*(n-x) == k) {res.emplace_back(make_pair(x, y));}else;}}for (auto p : res) {int x = p.first, y = p.second;ans += (getFrac(n)/getFrac(x)/getFrac(n-x)) * (getFrac(n)/getFrac(y)/getFrac(n-y));}return ans;}
};
http://www.yayakq.cn/news/998237/

相关文章:

  • 周浦手机网站建设公司顺义区做网站的公司
  • 容桂医疗网站建设西安专业seo
  • 泰州哪家做网站建设比较好深圳 网站开发
  • w网站制作和推广企业建网站需要准备哪些资料呢
  • 广东网站建设开发公司wordpress设置下载链接
  • 职参简历网站网站建设 菜鸟教程
  • 辽宁网站建设电话西安 h5网站建设
  • 企业网站免费认证网站开发项目
  • 17.zwd一起做网站池尾站社交网站只做
  • 沈阳做网站的电话网站页面制作
  • 上海企业网站建设公cpa推广联盟
  • 定制安卓app多少钱太原整站优化排名外包
  • 深圳深圳做网站微信电商小程序有哪些
  • 网站建设登录页面怎么写如何去掉链接wordpress
  • asp网站首页模板石家庄网站小程序
  • 淘客网站如果做优化网页设计中返回首页怎么设计
  • 商丘三合一网站建设wordpress音乐播放插件
  • 建设项目验收在哪个网站公示html常用标签
  • 做网站法人拍照背景大连网站开发企业
  • 福田区住房和建设局网站设计好的商城网站建设网络公司
  • 制作一个网站要花多少钱用iis为公司做一个内部网站
  • 微信的网站建设网站ico图标 代码
  • 北流做网站上海快速建设网站公司
  • 做网站值钱吗网站优化一年多少钱
  • 大连html5网站建设费用如何建设合法的网站
  • 用wix做外贸网站营销公关是什么意思
  • 第一ppt网小说网站seo排名怎么做
  • 手表商城网站建设湖南省建设安监局官网站
  • 网站开发有哪些书籍最有效的线下推广方式
  • 网站建设需要考什么证做海报在哪个网站可以找素材