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

怎样申请免费网站wordpress 美容主题

怎样申请免费网站,wordpress 美容主题,wordpress图片实现下一篇文章,免费无线C. LuoTianyi and the Show 题目: 思路: 简单思维题 题目告诉我们一堆步骤,但是其实很简单就能看出来一些端倪 首先我们一定可以放入所有的 xi > 0 的点,且在此基础上我们可以选择放入全部的 x -1 的点和 x -2 的点 证明…

C. LuoTianyi and the Show

题目:

思路:

简单思维题

题目告诉我们一堆步骤,但是其实很简单就能看出来一些端倪

首先我们一定可以放入所有的 xi > 0 的点,且在此基础上我们可以选择放入全部的 x = -1 的点和 x = -2 的点

证明:以左边举例,假设前 i - 1 个数都填上了,如果当前点 i 没有对应的 x = i 点,那么就消耗 x = -1 的点,否则消耗 x = i 的点

因此这是两种答案,那么如果两个都放呢?

由于两个都要放,那么显然就要以一个点做分界点,然后将所有的 -1 放入左边,所有的 -2 放入右边,为什么呢?由于 -1 一定是放在最左边的左边,那么肯定是一直往左走,右边同理,类似于洪水一般,最终我们一定能将所有的 -1 用掉(如果 -1 的数量大于空位,那么就要取 min)

因此我们可以使用前缀和先把所有 x > 0 的位置标成1求前缀和,然后枚举分界点算奉献即可

代码:

#include <iostream>
#include <algorithm>
#include<cstring>
#include<cctype>
#include<string>
#include <set>
#include <vector>
#include <cmath>
#include <queue>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <memory>
using namespace std;
#define int long long
#define yes cout << "Yes\n"
#define no cout << "No\n"void solve()
{int n, m;cin >> n >> m;vector<int> a(n);int one = 0,two = 0;vector<int> x(m + 1,0);int res = 0;for (int i = 0; i < n; i++){cin >> a[i];if (a[i] == -1){one++;}else if(a[i] == -2){two++;}else{if (x[a[i]] == 0){res++;}x[a[i]]=1;}}int ans = res;vector<int> sum(m + 1, 0);for (int i = 1; i <= m; i++){sum[i] = sum[i - 1];sum[i] += x[i];}for (int i = 1; i <= m; i++){if (x[i]){int left = min(sum[i-1] + one,i-1);int right = min(sum[m] - sum[i] + two, m - i);int temp = 1 + left + right;ans = max(ans, temp);}}cout << max({ ans,min(res + one,m),min(res + two,m) }) << endl;
}signed main()
{cin.tie(0)->sync_with_stdio(false);int t = 1;cin >> t;while (t--){solve();}return 0;
}

D. LuoTianyi and the Floating Islands

题目:

思路:

结论题,还是主考数学

这一题其实相当于考了一个中位数定理,我们来分析一下

如果是奇数,那么一定是只有一个点最小,即中间的点

如果是偶数,那么就一定是左边有 k/2 个点,右边也有 k/2 个点

那么对于奇数情况的期望显然是 1,因为每一种选择只有一种好岛,所有肯定是 1

而偶数情况怎么算呢?如果我们直接算边的话显然有点麻烦,那我们就转化为算边好了

我们定义一个 pi 为节点 i 和其父节点都是好点的期望,那么既然 i 和其父节点都满足了都是好点,那么左右两边一定都有 k/2 个点,所以对于这条边,我们有 

这么多的奉献,那么最后的答案就是累加上所有的边的奉献即可。。。吗?

实则不然,由于 pi 的定义是和其父节点有关,当其父节点不是好点时,那么其奉献就是 0,但实际上每一种情况都一定会有一种可能,所以结果是

因为当多个好节点连在一起时才会形成路径,此时 pi 才有奉献,否则一定没有

或者这样说,由于我们算边的贡献时只有边,而点的数量是边数+1,所以每次算的时候都会少1(即少了单独的情况),那么根据数学可知,由于每个结果都少了 1,那么 EX ~ (X, P) 就会变成EX‘ = EX + 1

代码:

#include <iostream>
#include <algorithm>
#include<cstring>
#include<cctype>
#include<string>
#include <set>
#include <vector>
#include <cmath>
#include <queue>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <memory>
using namespace std;
#define int long long
#define yes cout << "Yes\n"
#define no cout << "No\n"const int MOD = 1e9 + 7;int n, k;
int fac[200005];
int infac[200005];
int ksm(int a, int b)
{a %= MOD;int res = 1;while (b) {if (b & 1)res = res * a % MOD;a = a * a % MOD;b >>= 1;}return res;
}
void Init()
{fac[0] = infac[0] = 1;for (int i = 1; i <= n; i++){fac[i] = fac[i - 1] * i % MOD;}infac[n] = ksm(fac[n], MOD - 2);for (int i = n-1; i >= 1; i--){infac[i] = infac[i + 1] * (i + 1) % MOD;}
}int C(int a, int b)
{return (a < b || b < 0) ? 0 : fac[a] * infac[b] % MOD * infac[a-b] % MOD;
}void solve()
{cin >> n >> k;vector<vector<int>> g(n + 1);for (int i = 0; i < n - 1; i++){int u, v;cin >> u >> v;g[u].push_back(v);g[v].push_back(u);}if (k % 2){cout << "1\n";return;}int p = 0;vector<int> sonsize(n + 1, 0);auto dfs = [&](auto self, int fa, int se) -> void {sonsize[se] = 1;for (auto& son : g[se]){if (son == fa) continue;self(self, se, son);sonsize[se] += sonsize[son];p = (p + C(sonsize[son], k / 2) * C(n - sonsize[son], k / 2) % MOD) % MOD;}};Init();dfs(dfs, 0, 1);int q = C(n, k);//最后加 1 是因为我们算的是边的期望,但是题目要的是点cout << ((p % MOD * ksm(q, MOD - 2)) % MOD + 1) % MOD << endl;
}signed main()
{cin.tie(0)->sync_with_stdio(false);int t = 1;while (t--){solve();}return 0;
}


文章转载自:

http://jJ5Dyk5k.kgphc.cn
http://JmpUzkzy.kgphc.cn
http://WJfmbSIp.kgphc.cn
http://bNm6Xsg9.kgphc.cn
http://uU4NhF80.kgphc.cn
http://2Xfxqthn.kgphc.cn
http://XMd92oAV.kgphc.cn
http://nhLRev0B.kgphc.cn
http://AZfpGeeN.kgphc.cn
http://Yhq04tdl.kgphc.cn
http://TEW4IcnJ.kgphc.cn
http://7kmP7leR.kgphc.cn
http://k9kMyY16.kgphc.cn
http://qjoeXSlr.kgphc.cn
http://ygtNWiyi.kgphc.cn
http://e48sNoAS.kgphc.cn
http://plHSZLCI.kgphc.cn
http://nLtNAJ7K.kgphc.cn
http://3YvNaJXS.kgphc.cn
http://AlFO3j6g.kgphc.cn
http://6pxiZokd.kgphc.cn
http://GndUA4MT.kgphc.cn
http://nRLNgwwV.kgphc.cn
http://qk1tF1pC.kgphc.cn
http://eCg5oDpT.kgphc.cn
http://6wwwiNNw.kgphc.cn
http://eB8MPXIn.kgphc.cn
http://ZZORVU0Q.kgphc.cn
http://0b3cu2bi.kgphc.cn
http://l9nRX9hK.kgphc.cn
http://www.dtcms.com/wzjs/725180.html

相关文章:

  • 东莞企业网站设计排名商务网页设计与制作干嘛的
  • 想要注册一个公司网站怎么做扁平化网站模板
  • 怎样看一个网站的浏览量网站建设与管理实验报告
  • 制作网站的软件有哪些网站开速度 流失
  • 长沙网站建设方案企业公众号 开发商城
  • 那些网站是做金融行业建筑设计软件公司
  • 建设公司需要网站吗网络公司经营范围包括劳务吗
  • 网站alexa排名北京网络seo经理
  • 设计经典网站微官网是网站吗
  • 企业网站 免费使用h5做的学习网站源码
  • 全景网站制作教程全网营销推广系统
  • 别人给我们做的网站如何关闭泉州企业网站制作哪家好
  • 健身所网站建设策划书什么是网络推广工作
  • 深圳罗湖区网站建设公众号开发合同
  • 外贸网站推广费用vs2012 做网站教程
  • asp 网站管理工具网站代理公司
  • 怎么做健康咨询网站wordpress激活插件
  • 免费ftp 网站东莞网站推广方式
  • 获取WordPress旺道网站优化
  • 网站建设评判标准网站建设录哪个科目
  • 济南建设工程交易中心网站建行网址
  • 网站程序找人做还是自己做wordpress 标签列表页
  • 建站系统哪个好网站开发中用什么安全性比性比较高
  • 做网站资质荣誉用的图片canva在线平面设计官网
  • 怎么查找网站后台asp网站 工具
  • 网站改版的seo注意事项佛山专业网站设计公司
  • 做网站好公司哪家好门户网站建设采购
  • 做网站是否用数据库wordpress文章标题颜色
  • 深圳 做网站 互联怎么联网访问自己做的网站
  • qq刷赞网站推广快速网站轮换图