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

2025.1.26——1400

2025.1.26——1400


A 1400

B 1400

------------------------------------------------

  • 2024年最后一篇


A

  1. 发现和区间非1之和与1的个数大小有关。前缀维护两个信息即可。

B

  1. 找到一种构造方式为:来回摆动构造。

------------------------代码------------------------

A

#include <bits/stdc++.h>
#define int long long //
#define endl '\n'     // attention: interactive/debug
#define el cout << endl
using namespace std;
#define bug(BUG) cout << "bug:# " << (BUG) << endl
#define bug2(BUG1, BUG2) cout << "bug:# " << (BUG1) << " " << (BUG2) << endl
#define bug3(BUG1, BUG2, BUG3) cout << "bug:# " << (BUG1) << ' ' << (BUG2) << ' ' << (BUG3) << endl
#define bugv(VEC, ST)                         \
    {                                         \
        for (int I = ST; I < VEC.size(); I++) \
            cout << VEC[I] << ' ';            \
        el;                                   \
    }

void _();
signed main()
{
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    cout << fixed << setprecision(10);
    int T = 1;
    cin >> T;
    while (T--)
        _();
    return 0;
}

void _()
{
    int n, q;
    cin >> n >> q;
    vector<int> prefix(n + 1), pre0(n + 1);
    for (int i = 1; i <= n; i++)
    {
        int x;
        cin >> x;
        pre0[i] = pre0[i - 1] + (x == 1);
        prefix[i] = prefix[i - 1] + x - 1;
    }
    while (q--)
    {
        int l, r;
        cin >> l >> r;
        cout << (r - l && prefix[r] - prefix[l - 1] >= pre0[r] - pre0[l - 1] ? "YES" : "NO");
        el;
    }
}

B

#include <bits/stdc++.h>
#define int long long //
#define endl '\n'     // attention: interactive/debug
#define el cout << endl
using namespace std;
#define bug(BUG) cout << "bug:# " << (BUG) << endl
#define bug2(BUG1, BUG2) cout << "bug:# " << (BUG1) << " " << (BUG2) << endl
#define bug3(BUG1, BUG2, BUG3) cout << "bug:# " << (BUG1) << ' ' << (BUG2) << ' ' << (BUG3) << endl
#define bugv(VEC, ST)                         \
    {                                         \
        for (int I = ST; I < VEC.size(); I++) \
            cout << VEC[I] << ' ';            \
        el;                                   \
    }

void _();
signed main()
{
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    cout << fixed << setprecision(10);
    int T = 1;
    cin >> T;
    while (T--)
        _();
    return 0;
}

void _()
{
    int n, k;
    cin >> n >> k;
    vector<int> res(n + 1);
    int st = 1;
    for (int i = 1; i <= k; i++)
    {
        if (i & 1)
            for (int j = i; j <= n; j += k)
                res[j] = st++;
        else
        {
            int j;
            for (j = i; j <= n; j += k)
                ;
            if (j > n)
                j -= k;
            for (; j > 0; j -= k)
                res[j] = st++;
        }
    }
    bugv(res, 1);
}


http://www.kler.cn/a/523449.html

相关文章:

  • Prompt提示词完整案例:让chatGPT成为“书单推荐”的高手
  • js小游戏---2048(附源代码)
  • 2025春晚刘谦魔术揭秘魔术过程
  • 【Matlab高端绘图SCI绘图模板】第006期 对比绘柱状图 (只需替换数据)
  • 【以音频软件FFmpeg为例】通过Python脚本将软件路径添加到Windows系统环境变量中的实现与原理分析
  • Java坦克大战
  • Winform如何取消叉号,减号和放大(两种)
  • Linux文件基本操作
  • AIP-133 标准方法:Create
  • 一文读懂DeepSeek-R1论文
  • 游戏引擎分层架构与总体管线
  • 蓝桥杯python语言基础(4)——基础数据结构(上)
  • 【esp32-uniapp】uniapp小程序篇02——引入组件库
  • 【愚公系列】《循序渐进Vue.js 3.x前端开发实践》029-组件的数据注入
  • 基于SpringBoot电脑组装系统平台系统功能实现五
  • .NET MAUI 入门学习指南
  • 从AD的原理图自动提取引脚网络的小工具
  • 进程通讯——类型和发展
  • 一个局域网通过NAT访问另一个地址重叠的局域网(IP方式访问)
  • 【YOLOv11改进- 注意力机制】YOLOv11+SCSA注意力机制(2024): 最新空间和通道协同注意力,助力YOLOv11有效涨点;包含二次创新
  • 力扣动态规划-13【算法学习day.107】
  • Julia Distributed(分布式计算)详解
  • 浅谈Linux的发展
  • iOS开发设计模式篇第二篇MVVM设计模式
  • ReactNative react-devtools 夜神模拟器连调
  • 【云安全】云原生-K8S-搭建/安装/部署