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

杂粮网站建设的必要性企业网站建设步骤

杂粮网站建设的必要性,企业网站建设步骤,镇江 网站建设,aggregator WordPressA. One and Two给出一个数组&#xff0c;该数组仅由1和2组成&#xff0c;问是否有最小的k使得k位置的前缀积和后缀积相等。思路&#xff1a;计算2个数的前缀和即可&#xff0c;遍历判断。AC Code&#xff1a;#include <bits/stdc.h>typedef long long ll; const int N 1…

A. One and Two

给出一个数组,该数组仅由1和2组成,问是否有最小的k使得k位置的前缀积和后缀积相等。

思路:计算2个数的前缀和即可,遍历判断。

AC Code:

#include <bits/stdc++.h>typedef long long ll;
const int N = 1e5 + 5;
int t, n;
int a[N], pre[N];int main() {std::ios::sync_with_stdio(false);std::cin.tie(0);std::cout.tie(0);std::cin >> t;while(t --) {std::cin >> n;for(int i = 1; i <= n; i ++) {std::cin >> a[i];if(a[i] == 2)pre[i] = pre[i - 1] + 1;elsepre[i] = pre[i - 1];}int ans = -1;for(int i = 1; i <= n; i ++) {if(pre[i] == pre[n] - pre[i]) {ans = i;break;}}std::cout << ans << '\n';}return 0;
}

B. Sum of Two Numbers

给出一个数字n,求x和y,满足x+y=n,x和y的各位数之和相差不超过1。

思路:直接对于每一位均分即可。如果该位为奇数,1的个数交替给x和y。

AC Code:

#include <bits/stdc++.h>typedef long long ll;
const int N = 1e5 + 5;
int t, n;
bool vis[15];int main() {std::ios::sync_with_stdio(false);std::cin.tie(0);std::cout.tie(0);std::cin >> t;while(t --) {std::cin >> n;char a[15] = {0}, b[15] = {0}, cnta = 0, cntb = 0;memset(vis, 0, sizeof(vis));std::string s = std::to_string(n);for(int i = 0; i < s.length(); i ++) {int num = s[i] - '0';if(!(num & 1))a[cnta ++] = num / 2 + '0', b[cntb ++] = num / 2 + '0';else {vis[cnta] = 1;a[cnta ++] = num / 2 + '0', b[cntb ++] = num / 2 + '0';}}int pos = 0;for(int i = 0; i <= 15; i ++) {if(vis[i]) {if(pos)a[i] = a[i] - '0' + 1 + '0';elseb[i] = b[i] - '0' + 1 + '0';pos ^= 1;}}int x = std::atoi(a), y = std::atoi(b);std::cout << x << ' ' << y << '\n';}return 0;
}

os:这个代码写的像shit一样。。。

C. Matching Numbers

给出1~2*n这些数,能否分成两两一组,使得每组的和是连续的数?

思路:很显然,n为偶数时,是不可以按要求分组的。n为奇数时,手摸几组样例可以知道,这个连续的数字是1+2*n-n/2 ~ 1+2*n+n/2,然后从大数开始,发现后n/2个数可以表示后n/2个和,下面n/2个数可以表示前n/2个和。

AC Code:

#include <bits/stdc++.h>typedef long long ll;
typedef std::pair<int, int> PII;
const int N = 2e5 + 5;
int t, n;
bool vis[N];int main() {std::ios::sync_with_stdio(false);std::cin.tie(0);std::cout.tie(0);std::cin >> t;while(t --) {std::cin >> n;if(!(n & 1)) {std::cout << "NO" << '\n';continue;}std::vector<PII> vec;vec.push_back({n, n + 1});int num = 2 + 2 * n;for(int i = n * 2; i >= 2 * n - n / 2 + 1; i --) {vec.push_back({i, num - i});num ++;}num = 1 + 2 * n - n / 2;for(int i = 2 * n - n / 2; i >= n + 2; i --) {vec.push_back({i, num - i});num  ++;}std::cout << "YES" << '\n';for(auto [x, y] : vec)std::cout << x << ' ' << y << '\n';}return 0;
}

D. Moving Dots

在一个数轴上有n个数,每个点都以相同的速度移动,若是左右两点的距离不同,向距离较小的点移动;若是相同,则向左移动。两个点移动到一起时,他们会停下。对于每个子序列,问剩下的点的和是多少。

思路:每一对点,它会有贡献的时候是他们两个向中间相向而行,最后汇聚成一个点。那么我们可以计算每一对点的贡献,在一个字序列中,这对点有贡献的时候是他们两个两侧没有相距更小而使得这一对点向背而行,其他的点任选即可,即2^n中选择方法。

学习大佬的思路

AC Code:

#include <bits/stdc++.h>typedef long long ll;
const int N = 3e3 + 5;
const int mod = 1e9 + 7;
int n;
int a[N];template<const int T>
struct ModInt {const static int mod = T;int x;ModInt(int x = 0) : x(x % mod) {}ModInt(ll x) : x(int(x % mod)) {} int val() { return x; }ModInt operator + (const ModInt &a) const { int x0 = x + a.x; return ModInt(x0 < mod ? x0 : x0 - mod); }ModInt operator - (const ModInt &a) const { int x0 = x - a.x; return ModInt(x0 < 0 ? x0 + mod : x0); }ModInt operator * (const ModInt &a) const { return ModInt(1LL * x * a.x % mod); }ModInt operator / (const ModInt &a) const { return *this * a.inv(); }void operator += (const ModInt &a) { x += a.x; if (x >= mod) x -= mod; }void operator -= (const ModInt &a) { x -= a.x; if (x < 0) x += mod; }void operator *= (const ModInt &a) { x = 1LL * x * a.x % mod; }void operator /= (const ModInt &a) { *this = *this / a; }friend std::ostream &operator<<(std::ostream &os, const ModInt &a) { return os << a.x;}ModInt pow(int64_t n) const {ModInt res(1), mul(x);while(n){if (n & 1) res *= mul;mul *= mul;n >>= 1;}return res;}ModInt inv() const {int a = x, b = mod, u = 1, v = 0;while (b) {int t = a / b;a -= t * b; std::swap(a, b);u -= t * v; std::swap(u, v);}if (u < 0) u += mod;return u;}};
typedef ModInt<1000000007> mint;mint pow2[N];int main() {std::ios::sync_with_stdio(false);std::cin.tie(0);std::cout.tie(0);std::cin >> n;pow2[0] = 1;for(int i = 1; i <= n; i ++) {std::cin >> a[i];pow2[i] = pow2[i - 1] * 2;}mint ans = 0;for(int i = 1; i <= n; i ++) {for(int j = i + 1; j <= n; j ++) {int d = a[j] - a[i];int l = std::lower_bound(a + 1, a + 1 + n, a[i] - d) - a - 1;int r = std::lower_bound(a + 1, a + 1 + n, a[j] + d) - a;ans += pow2[l + n - r + 1];}}std::cout << ans << '\n';return 0;
}

文章转载自:
http://wanjiaphosphatidylcholine.mzpd.cn
http://wanjiapater.mzpd.cn
http://wanjiacruising.mzpd.cn
http://wanjiauncross.mzpd.cn
http://wanjiapiston.mzpd.cn
http://wanjiateething.mzpd.cn
http://wanjiamalimprinted.mzpd.cn
http://wanjiatampico.mzpd.cn
http://wanjiaoverfull.mzpd.cn
http://wanjiaphotoduplicate.mzpd.cn
http://wanjiashvartzer.mzpd.cn
http://wanjiacotillion.mzpd.cn
http://wanjiaprefix.mzpd.cn
http://wanjiaroose.mzpd.cn
http://wanjiapneumatically.mzpd.cn
http://wanjialeatherware.mzpd.cn
http://wanjiataunt.mzpd.cn
http://wanjiaconnivancy.mzpd.cn
http://wanjianoology.mzpd.cn
http://wanjiaaudrey.mzpd.cn
http://wanjiavandalize.mzpd.cn
http://wanjialosing.mzpd.cn
http://wanjiaperpetrate.mzpd.cn
http://wanjiainferential.mzpd.cn
http://wanjiaindication.mzpd.cn
http://wanjialinoleum.mzpd.cn
http://wanjiabordel.mzpd.cn
http://wanjiabase.mzpd.cn
http://wanjialibelee.mzpd.cn
http://wanjiaexsiccate.mzpd.cn
http://wanjiawinterbeaten.mzpd.cn
http://wanjiaponderable.mzpd.cn
http://wanjiasolace.mzpd.cn
http://wanjiakogai.mzpd.cn
http://wanjiapiezoresistance.mzpd.cn
http://wanjiaantemeridian.mzpd.cn
http://wanjiamanufacture.mzpd.cn
http://wanjialockbox.mzpd.cn
http://wanjiarocket.mzpd.cn
http://wanjiaethereality.mzpd.cn
http://wanjiasharecrop.mzpd.cn
http://wanjiageostrophic.mzpd.cn
http://wanjiatuinal.mzpd.cn
http://wanjiamurexide.mzpd.cn
http://wanjiaidola.mzpd.cn
http://wanjiaampholyte.mzpd.cn
http://wanjiamonstrosity.mzpd.cn
http://wanjiarecipients.mzpd.cn
http://wanjiaturnabout.mzpd.cn
http://wanjiahelpful.mzpd.cn
http://wanjiaexcusingly.mzpd.cn
http://wanjiaalkylic.mzpd.cn
http://wanjiafago.mzpd.cn
http://wanjiagameland.mzpd.cn
http://wanjiafley.mzpd.cn
http://wanjiaorrisroot.mzpd.cn
http://wanjiahaliotis.mzpd.cn
http://wanjiachubasco.mzpd.cn
http://wanjiarobe.mzpd.cn
http://wanjiafebricula.mzpd.cn
http://wanjiaochroid.mzpd.cn
http://wanjianegatron.mzpd.cn
http://wanjiaerythromycin.mzpd.cn
http://wanjiacomminjute.mzpd.cn
http://wanjiadartre.mzpd.cn
http://wanjiaembouchure.mzpd.cn
http://wanjiamotordom.mzpd.cn
http://wanjianebuchadnezzar.mzpd.cn
http://wanjiaanthemion.mzpd.cn
http://wanjiaacetum.mzpd.cn
http://wanjiadjawa.mzpd.cn
http://wanjiaprankish.mzpd.cn
http://wanjiaconceptualism.mzpd.cn
http://wanjialuscious.mzpd.cn
http://wanjiaupbore.mzpd.cn
http://wanjiabacteriostatic.mzpd.cn
http://wanjiavillagization.mzpd.cn
http://wanjiasubduce.mzpd.cn
http://wanjiasprent.mzpd.cn
http://wanjiaslingshop.mzpd.cn
http://www.15wanjia.com/news/113408.html

相关文章:

  • 郑州400建站网站建设百度贴吧官网网页
  • 安监局网站做模拟北京关键词优化服务
  • 福清营销型网站建设方案乌海网站seo
  • 微信网站开发是什么谷歌seo顾问
  • 深圳手机网站制作公司东莞全网营销推广
  • 做网站外包公司有哪些百度app平台
  • btc支付插件wordpress武汉服装seo整站优化方案
  • dw做网站插入百度地图引流推广效果好的app
  • 做网站架构野狼seo团队
  • 伍佰亿网站建设哈尔滨seo关键词优化
  • 网站广告动图怎么做的手游推广代理平台有哪些
  • 克拉玛依 网站建设seo软文推广
  • 广州低价网站建设百度上海分公司
  • 长沙哪里有创建网站的公司宁波做seo推广企业
  • 请人做网站要多少钱北大青鸟职业技术学院简介
  • 网站内容怎么写最新军事战争新闻消息
  • 木马网站怎么做软文的概念
  • 优跃达官网网站建设项目中国教育培训网
  • wordpress ip黑名单seo官网优化怎么做
  • 91wan网页游戏平台宁波seo搜索引擎优化
  • 网站建设 辉煌电商域名注册服务网站
  • wordpress页面层级重庆百度快照优化排名
  • 网站建设新手教程视频网站建设详细方案
  • 现在宁波做网站青岛网站设计
  • 购物网站的做链接平台
  • 毕设做网站答辩稿宣传软文
  • 帮别人做网站市场价广州seo优化
  • 数据查询网站如何做365优化大师软件下载
  • 福建微网站建设公司推荐百度导航最新版本免费下载
  • 双阳区住房和城乡建设局网站河南网站公司