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

网站开发自学网站端口扫描站长工具

网站开发自学网站,端口扫描站长工具,网站分类表,奉节网站建设Good Bye 2023 Good Bye 2023 A. 2023 题意:序列a中所有数的乘积应为2023,现在给出序列中的n个数,找到剩下的k个数并输出,报告不可能。 思路:把所有已知的数字乘起来,判断是否整除2023,不够…

在这里插入图片描述

Good Bye 2023

Good Bye 2023

A. 2023

题意:序列a中所有数的乘积应为2023,现在给出序列中的n个数,找到剩下的k个数并输出,报告不可能。

思路:把所有已知的数字乘起来,判断是否整除2023,不够的k补1,注意当前乘积已经大于2023的情况。

AC code:

void solve() {cin >> n >> k;int now = 1;for(int i = 0; i < n; i ++) {int x; cin >> x;a[i] = x;now *= x;}if(2023 % now || now > 2023) {cout << "NO" << endl;return;}cout << "YES" << endl;k -= 1;while(k --) cout << 1 << " ";cout << 2023 / now << endl;//cout << "Good Bye 2023" << endl;
}

B. Two Divisors

题意:给出正整数的两个最大的除数a和b,求x。

思路:首先是找出a和b的最小公倍数lcm,然后判断lcm是否为较大的除数:

如果是,说明a是b的除数,且a和b还是x最大的两个除数,当前的最小公倍数是b,b/a为当前b最大能放大的倍数,则x=b*(b / a);

否则,x=lcm。

AC code:

int gcd (int a, int b) {if(b) while((a%=b) && (b%=a)); return a + b;
}void solve() {int a, b; cin >> a >> b;int lcm = a * b / gcd(a, b);if (lcm != b) {cout << lcm << endl;return;}cout << b * b / a << endl;
}

C. Training Before the Olympiad

题意:

在一个长度为n的正整数数组中,A和B轮流操作:

  • 每次选择两个不同的索引i和j,然后在数组中删除 a i a_i ai a j a_j aj,在数组中加入[( a i a_i ai+ a j a_j aj)/2] *2,A先起手,直到数组元素为1游戏结束;

  • A目标是最大化最终数字,B目标是最小化最终数字;

  • 现在针对数组a的每个前缀数字进行操作,每个前缀的最终数字是多少。

思路:

看奇偶:

  • 每次操作选择的两元素奇偶性相同则操作不会影响最终结果,否则会对最终结果-1;
  • 奇数才是影响最终结果的关键,AB无论怎么选择,一次操作后的数字必定是偶数;
  • 对A来说是尽可能选择奇偶性相同的元素,对B则是选择奇偶性不同的元素来缩小最终结果:
  • A优先选择成对的奇数来减少奇数的数量,一次减少2个奇数,选择一个奇数一次减少1个奇数:
    • 首先前缀和奇数的数量;
    • 各一轮下来最多消灭三个奇数,一次结果-1,再看多出的奇数若为1结果额外-1。

AC code:

void solve() {cin >> n;vector<int> cnt(n + 1, 0);vector<int> sum(n + 1, 0);for (int i = 1; i <= n; i ++) {cin >> a[i];sum[i] = sum[i - 1] + a[i];cnt[i] = cnt[i - 1] + (a[i] % 2 != 0);}for(int i = 2; i <= n; i ++) {if(cnt[i] == 1){sum[i] -= 1;continue;}sum[i] -= (cnt[i] / 3) + (cnt[i] % 3 == 1);}for(int i = 1; i <= n; i ++) cout << sum[i] << " ";cout << endl;
}

D. Mathematical Problem

题意:找出n个n位数(n为奇数),每个数满足各数位的组成的集合相同,且每个数都是一个平方数;

思路:

map打表找规律,会发现神奇的事情:

n = 3
169
196
961
n = 5
10609
16900
19600
61009
90601
96100
n = 7
1006009
1060900
1690000
1960000
6100900
9006001
9060100
9610000
n = 9
100060009
100600900
106090000
169000000
196000000
610090000
900060001
900600100
906010000
961000000
......

然后就是字符串的操作了…

AC code:

void solve() {string cnt = "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";cin >> n;if (n == 1) {cout << 1 << endl;return;}cout << "196" << cnt.substr(0, max((LL)0, n - 3)) << endl;for (int i = 0; i < n / 2; i ++) {cout << '1' << cnt.substr(0, i) << '6' << cnt.substr(0, i) << '9' << cnt.substr(0, max((LL)0, n - 3 - 2 * i)) << endl;cout << '9' << cnt.substr(0, i) << '6' << cnt.substr(0, i) << '1' << cnt.substr(0, max((LL)0, n - 3 - 2 * i)) << endl;}
}
http://www.dinnco.com/news/55652.html

相关文章:

  • 网站备案账号是什么样的华为seo诊断及优化分析
  • 门店智能经营平台入门seo技术教程
  • 宿迁网站建设公司域名注册查询软件
  • 湛江建设培训学校网站济南网站建设公司选济南网络
  • WordPress的博客添加按钮seo咨询解决方案
  • ip地址免费系统优化大师
  • wordpress 官方插件个人如何优化网站有哪些方法
  • wordpress 充值插件宁波seo营销平台
  • 杭州市建设工程招标合肥seo服务商
  • 如何建立分销网站企业文化理念
  • 肇庆企业建站程序小程序推广50个方法
  • 网站建设我们的优势网站推广排名哪家公司好
  • 做漂亮的网站网站推广费用一般多少钱
  • 网站服务建设全球搜钻是什么公司
  • 武汉专业做网站公司广州网站推广软件
  • 东昌府聊城做网站费用seo优化顾问服务阿亮
  • 程序员做彩票网站违法吗推广神器
  • 4500急招一位接送小孩阿姨附近嘉兴seo外包服务商
  • wordpress用的什么主题查询青岛建站seo公司
  • 怎样用手机做网站网站推广优化怎样
  • 校园安全网站建设百度竞价推广开户多少钱
  • 西安做网站选哪家sem推广是什么意思
  • 如何做淘客推广网站百度资源分享网
  • 怎么用ps做简单网站首页上海十大公关公司排名
  • 湖北网站建设营销qq专业seo培训
  • 罗岗网站建设公司十大网络营销经典案例
  • 网站开发建设账务处理程序全达seo
  • mvc5做博客网站百度指数移动版
  • 广州白云区疫情情况seo优化软件购买
  • 用asp做的网站打开页面很慢宁波网站seo哪家好