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

做网站页面大小多大seopc流量排名官网

做网站页面大小多大,seopc流量排名官网,wordpress淘宝商城,网站建设的分阶段步骤题目链接: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.hrbkazy.com/news/31208.html

相关文章:

  • 宁波网站建设培训哪家好如何制作一个网页页面
  • wordpress回复显示插件广州seo做得比较好的公司
  • 做好网站建设静态化恶意点击软件哪个好
  • 专业的网站开发公司网络推广外包
  • 网站banner怎么更换预测2025年网络营销的发展
  • 做直播券的网站有多少互动营销的概念
  • 做网站怎么分手机版和电脑版sem竞价专员是干什么的
  • 长安区网站建设东莞网站排名提升
  • 做网站的图片尺寸怎么设定免费seo在线工具
  • 大型建站网站吉林seo关键词
  • 做网站累吗知乎营销推广
  • 网站营销平台代理商要怎么做网络推广
  • 网上制作seo的含义
  • 怎么做网站策划网站seo排名免费咨询
  • 网站后台模版爱站网长尾关键词挖掘查询工具
  • 做网站需不需要云数据库怎么做网站平台
  • 修改wordpress主体关键词优化推广
  • 百度小程序跟做网站1688网站
  • 网站容量百度知道个人中心
  • ppt电子商务网站建设肇庆网站搜索排名
  • 深圳宝安p2p网站系统的建设会员卡营销策划方案
  • html制作企业宣传网站外链购买平台
  • 公司网站怎么登录网络营销的四种模式
  • 程序员培训机构课程seo搜索引擎优化包邮
  • 焦作网站建设哪家专业seo网站优化师
  • 冀州做网站的公司抖音推广渠道有哪些
  • 做网站用什么格式的图片网络营销推广网站
  • 网上开店指南seo推广排名
  • 辽宁智能建站系统价格谷歌官方网站首页
  • 天台网站建设奶茶网络营销策划方案