ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

2022牛客寒假算法基础集训营5

2022-02-21 00:02:34  阅读:220  来源: 互联网

标签:10 idx 小孩 int ++ cin 牛客 2022 集训营


2022牛客寒假算法基础集训营5

文章目录

A 疫苗小孩

没读懂不想补

B 乒乓小孩


C 战棋小孩


D 数位小孩

题意: 给定 [l, r], 求区间内多少个数满足:

  1. 每相邻两个数位和为素数
  2. 至少一个数位为1
  3. 没有前导0
思路: 见代码
const int N = 1e7 + 10;
int ans[N], p[20], l, r, cnt;

void dfs(int x, int f) {
	if(x > r) return ;
	if(f) ans[cnt++] = x;
	int pre = x % 10;
	for (int i = 0; i < 10; i++) if(p[pre + i]) dfs(x * 10 + i, f | (i == 1));
} 

void solve() {
	cin >> l >> r;
	p[2] = p[3] = p[5] = p[7] = p[11] = p[13] = p[17] = 1;
	for (int i = 1; i < 10; i++) dfs(i, i == 1);
	int res = 0;
	for (int i = 0; i < cnt; i++) if(ans[i] >= l) res ++;
	cout << res << endl;
}

E 复苏小孩


F 飞车小孩


G 163小孩

签到

cout << 18395 << endl;

H 一六三小孩


I 兔崽小孩

题意: 找出时间间隔大于k的段数,问每段除去k之和能否大于p。

思路:
	1. 前缀和 + 二分
void solve() {
    int n, m; cin >> n >> m;
    vi a, b;
    int last = -1;
    // 求出间隔,并排序
    for (int i = 0; i < n; i++) {
        int x; cin >> x;
        if(i) a.pb(x - last);
        last = x;
    }
    sort(all(a));
    b.resize(a.sz);
    // b是前缀数组
    for (int i = 0; i < a.sz; i++) {
        if(i) b[i] = b[i - 1] + a[i];
        else b[i] = a[i];
    }
    while(m--) {
        int k, p; cin >> k >> p;
        int idx = lb(a, k);
        int tmp = 0;
        if(idx >= 1) tmp = b[idx - 1]; // 这里tmp代替是偷懒了差分数组的写法
        if(b[b.sz - 1] - tmp - (b.sz - idx) * k >= p) puts("Yes");
        else puts("No");
    }
}

J 三国小孩

签到,随便蒙的

void solve() {
	int n, m, k; cin >> n >> m >> k;
    puts(n + m > k ? "YES" : "NO");
}

K 造梦小孩


标签:10,idx,小孩,int,++,cin,牛客,2022,集训营
来源: https://blog.csdn.net/qq_52678569/article/details/122970514

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有