Skip to content

泉州一中信息学Blog

信息学奥赛技术分享博客

  • 登录
  • 小学oj
  • 中学oj
  • 测试页面1
  • Toggle search form

21 Days Training // Day 19

Posted on 2025年8月13日 By c2022zyh 21 Days Training // Day 19无评论

T2. binary

My idea : still enum.

Enumerate all possible substrings and check.

Quick check :

Notice that 2^{2n+1} \equiv 1 \pmod{3} and 2^{2n} \equiv -1 \pmod{3}

So we can get under conclusions :

  1. If the string is full of 0, it is valid.
  2. If the string has only 1 position that is 1, it is invalid.
  3. If the string has even number of 1s, it is valid, since we can put these 1s on 2^0, 2^1, 2^2, etc. According to the conclusion above, the remainder of the string is 0.
  4. If the string has odd number of 1s and it has no more than one 0, it is invalid, otherwise, it is valid. Since we can get 3 of 1s and put hem as 10101, and the remain puts as above. According to the conclusion above, the remainder of the string is also 0. However, to achieve this, we need at least 2 zeros. If there is only 1 zero or no zeros, we cannot move as this.

Therefore, for a string, follow the steps above, you can know if it is valid.

Code :

#include <bits/stdc++.h>
using namespace std;

int main() {
    int N;cin >> N;
    int A[N];
    for (int i=0;i<N;i++) cin >> A[i];
    int Q;cin >> Q;
    for (int i=0;i<Q;i++) {
        int opt;cin >> opt;
        if (opt==1) {
            int t;cin >> t;t--;
            A[t] = 1-A[t];
        }
        else {
            int l, r;cin >> l >> r;l--;r--;
            long long ans=0;
            for (int lx=l;lx<=r;lx++) {
                for (int rx=lx;rx<=r;rx++) {
                    if (lx==rx) {
                        ans += (1-A[lx]);
                    }
                    else {
                        int c1=0;
                        for (int p=lx;p<=rx;p++) c1 += A[p];
                        if (c1==1) continue;
                        if (!(c1&1)) ans++;
                        else if ((rx-lx+1-c1)>=2) ans++;
                    }
                }
            }
            cout << ans << endl;
        }
    }
    return 0;
}

Constraints :

Expected : 0/20

(I forgot the judge of condition 2.)

Pages: 1 2 3 4 5 6 7
训练日志

文章导航

Previous Post: GDNOJ – DAY 17 – 1
Next Post: 中山集训8.13

发表回复 取消回复

要发表评论,您必须先登录。

2025年 12月
一 二 三 四 五 六 日
1234567
891011121314
15161718192021
22232425262728
293031  
« 8月    

2024常州 Class Classic OI Problems Contest cqr的长乐集训2023 CZYZ LOC New Game NOI NOIP Password Protected PM_PK Preview Problems Retrospect Selfmade Qusetion STL The end Training Uneasy Problem 蒟蒻 通报

  • 训练日志
  • 链表
  • 入门
  • 模拟
  • dfs序
  • 并查集
  • spfa
  • 最小割
  • 矩阵树定理
  • 仙人掌
  • BSGS
  • 凸包
  • 回文自动机
  • 递推与动归
  • 堆
  • 莫队算法
  • ST表
  • Treap
  • 树套树
  • 可持久化线段树
  • 初赛
  • 搜索
  • 贪心
  • 深度优先搜索
  • 欧拉图
  • dijkstra
  • 费用流
  • 哈夫曼树
  • kruskual
  • 置换
  • 旋转卡壳
  • KMP
  • 区间动归
  • STL
  • 链表
  • 可并堆
  • sply
  • 主席树
  • 可持久化字典树
  • 算法
  • 动态规划
  • 构造
  • 广度优先搜索
  • 最短路
  • floyd
  • 最大流
  • 虚树
  • prim
  • 筛法
  • 半平面交
  • 字典树
  • 背包动归
  • 基础数据结构
  • 分块
  • 线段树
  • 替罪羊树
  • K-DTree
  • 图论
  • 二分法
  • 迭代搜索
  • 拓扑排序
  • 有上下界网络流
  • 生成树
  • 快速幂
  • 后缀数组
  • 树形动归
  • 哈希表
  • 中级数据结构
  • 平衡树
  • 可持久化数据结构
  • 数据结构
  • 三分法
  • 启发式搜索
  • 图的连通
  • 点分治
  • 博弈论
  • AC自动机
  • 状压动归
  • 单调栈
  • 树状数组
  • 高级数据结构
  • OI资料
  • 数学
  • 高精度
  • 差分约束
  • 树上倍增
  • 素数测试
  • 后缀自动机
  • 数位动归
  • 单调队列
  • 新闻
  • 几何
  • 随机化
  • 二分图染色
  • 树链剖分
  • 欧拉函数
  • manacher
  • 斜率优化
  • 离线处理
  • 信息学奥赛学长风采
  • 字符串
  • 二分图匹配
  • prufer编码
  • 卡特兰数
  • 密码学
  • 决策单调
  • 赛后总结
  • 其他
  • 2-SAT
  • 最近公共祖先
  • 矩阵乘法
  • 记忆化搜索
  • 网络流
  • Link cut tree
  • 排列组合
  • 树
  • 高斯消元
  • 乘法逆元
  • 容斥原理
  • 调和级数
  • 概率与期望
  • 模线性方程组
  • 莫比乌斯反演
  • 快速傅里叶变换
  • 扩展欧几里德
  • 最大公约数与最小公倍数

近期文章

  • 中山纪念中学 Day21
  • 中山集训8.15 LAST DAY+集训小结
  • GDNOJ – DAY 18
  • 中山8.14
  • 2025暑假中山集训Day20——8.14

近期评论

归档

  • 2025年8月
  • 2025年7月
  • 2025年2月
  • 2025年1月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年3月
  • 2024年2月
  • 2024年1月
  • 2023年12月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月

Copyright © 2025 泉州一中信息学Blog.

Powered by PressBook WordPress theme