CodeTON Round 9中的C1,C2

开放平台 - 互动玩法演进之路 随着直播业务和用户规模日益壮大,如何丰富直播间内容、增强直播间内用户互动效果,提升营收数据变得更加关键。 阅读详情

首先对于异或的概念,有几点需要知道

Z=X^Y;

0=X^X;

Z^X=X^X^Y=Y;

X-Y<=X^Y<=X+Y;

 

C1. Shohag Loves XOR (Easy Version)

这里放的是英文题目不做翻译,样例可自行查看https://codeforces.com/contest/2039/problem/C1

先计算出x的位数,如果y的位数大于x的位数,则没有合适的y。

证明:

y的位数大于x的位数,y^x>x<y+x<2y,且y^x!=y,所以无解.

所以仅需考虑y小于等于x的位数时;

代码如下:

#include <bits/stdc++.h>
using namespace std;
long long n,x,m;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        int cnt=0;
        cin>>x>>m;
        int a=log2(x)+1;
        int mm=1<<a;
        for(int j=1;j<mm&&j<=m;j++){
            if(j==x)continue;
            int t=j^x;
            if(x%t==0||j%t==0){cnt++;}
        }
        cout<<cnt<<endl;
    }
}

C2. Shohag Loves XOR (Hard Version)

https://codeforces.com/contest/2039/problem/C2

注意这两题并不一样,Hard版是(x^y)%x==0或(x^y)%y==0.

分类讨论:

对于(x^y)%x==0:

可以利用y=(x^y)^x求解,令z=x^y,z为x的倍数,因为z小于等于m-x的范围都能取到(我不会证),所以有[(m-x)/x]个值,再对(m-x,m+x]看看有无解.

long long cnt=0;
        cin>>x>>m;
        long long z=m-m%x;
        cnt=z/x;
        if(x<z){cnt--;}//因为z不算在里面所以-1,如果x==z那么下一个if语句就不成立
        if((x^z)>=1&&(x^z)<=m){cnt++;}
        if((x^(z+x))>=1&&(x^(z+x))<=m){cnt++;}

对于(x^y)%y==0:

y只有小于等于x和m的最小值才成立。

证明如下:

如果y>min(x,m):

2*y>=x^y>=y-m,无解

for(long long y=1;y<=min(x,m);y++){
            long long k=(y^x);
            if(k%y==0){cnt++;}
        }
        cout<<cnt<<endl;

对于(x^y)%y==0和(x^y)%x==0同时成立。

当且仅当y==x成立,可以自己思考一下为什么。

代码:

if(x<=m){cnt--;}

最终代码如下:

#include <bits/stdc++.h>
using namespace std;
long long n,x,m;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        long long cnt=0;
        cin>>x>>m;
        long long z=m-m%x;
        cnt=z/x;
        if(x<z){cnt--;}
        if((x^z)>=1&&(x^z)<=m){cnt++;}
        if((x^(z+x))>=1&&(x^(z+x))<=m){cnt++;}
        if(x<=m){cnt--;}
        for(long long y=1;y<=min(x,m);y++){
            long long k=(y^x);
            if(k%y==0){cnt++;}
        }
        cout<<cnt<<endl;
    }
}

这里借鉴了CodeTON Round 9 div 1+2 个人题解(A~E) - ExtractStars - 博客园的题解

破解现代反爬虫:JS加密、OB混淆与CSS反爬的实战攻防分析 摘要: 随着反爬技术的升级,JS加密、OB混淆和CSS反爬成为主流防护手段,阻碍传统爬虫获取数据。本文解析了这些技术的工作原理,并提出破解策略:通过模拟浏览器(如Selenium、Puppeteer)执行动态JS,逆向混淆代码,以及利用开发者工具突破CSS隐藏。针对复杂防护,开发者需结合技术分析与工具应用,如API接口抓取、动态渲染破解等,以应对不断演进的反爬机制。未来,爬虫攻防将持续升级,需保持技术敏锐性。 阅读详情

相关推荐

用本地 Chrome + DeepSeek 实现浏览器自动化:browser-use 实战与踩坑记录

本文记录了使用本地Chrome浏览器结合DeepSeek API实现浏览器自动化的实战经验。作者通过browser-use项目连接本地Chrome(启动时需添加--remote-debugging-port=9222参数),并解决了DeepSeek API不支持response_format的问题,通过设置dont_force_structured_output=True和add_schema_to_system_prompt=True成功绕过。同时分享了任务描述需精准的重要性,避免Agent输出多余信息导

LY的博客 750

Turtle Puzzle: Rearrange and Negate(Round 929)

【代码】Turtle Puzzle: Rearrange and Negate(Round 929)

GordrnGhost的博客 878

Arduino for ESP32-----ESP-NOW介绍及使用

ESP-NOWESP-NOW介绍ESP-NOW支持以下特性ESP-NOW技术也存在以下局限性获取ESP32的MAC地址ESP-NOW单向通信(One-way communication)ESP32单板间的双向通信一对多通信(一发多收)一对多通信(多发一收) ESP-NOW介绍 ESP-NOW是一种由Espressif开发的协议,可以让多个设备在不使用Wi-Fi的情况下相互通信。该协议类似于低功耗的2.4GHz无线连接。设备之间的配对需要在通信之前完成。配对完成后,连接是安全的、点对点的,不需要握手。这意味着

Better_man1的博客 2万+

题解:CF2039C2 Shohag Loves XOR (Hard Version)

区间即可(当然,官方解答的做法更加简洁,但是没看懂)。区间未检测,但可以充分利用。这个性质,我们循环判断。

scy923的博客 540

Docker离线部署OpenWebUI操作步骤

docker离线部署openwebui

m0_49333265的博客 4349

Xilinx Blockset Counter计数器模块使用及参数配置

本文详细介绍了Simulink中Xilinx Blockset库Counter模块的使用以及参数说明。

白码王子小张的博客 1096

CodeTON Round 9 (Div. 1 + Div. 2) C1C2解题

CodeTON Round 9 (Div. 1 + Div. 2) C1C2解题 【数论】

2301_81618761的博客 1071

【爬虫】Python实现爬取淘宝商品信息(超详细)

项目基于Python的第三方库Selenium模拟浏览器运行、PyQuery解析和操作HTML文档,获取淘宝平台中某类商品的详细信息(商品标题、价格、销量、商铺名称、地区、商品详情页链接、商铺链接等),并基于第三方库openpyxl建立、存储于Excel表格中。# 全局变量count = 1 # 写入Excel商品计数# 启动ChromeDriver服务# 关闭自动测试状态显示 // 会导致浏览器报:请停用开发者模式# 把chrome设为selenium驱动的浏览器代理;# 窗口最大化。

qq_46315152的博客 4万+

CodeTON Round 9 (Div. 1 + Div. 2, Rated, Prizes!) C2

那么 $ p > m + x$ 都一定是不符合的。我们可以先计算出 $ \leq m $ 的最大的。,但又因为 $x \oplus y < 2 * y $ ,,所以不成立, $x > y $ 同理 ,所以只有。, 则 $ y = p \oplus x$,又因为。,那么就可以分为以下三种情况计算。那么没有符合的答案。设 $x < y $,因为。的倍数,也就一定不能被。时是不成立的 ,所以。

2303_79684072的博客 880

利用Dify构建文档内容的分析对比

本次主要做了一些workflow和Agent的应用实现,供大家参考。主要目的是为了进行两个内部报告文件的内容对比,特别是报告中的各类审批表、申请表、推荐表和流程对比,本地数据通过知识库方式分别加载到两个知识库中,编制工作流针对同一个问题进行知识库检索,之后将查询结果进行合并,再一起提交给LLM进行对比,最终将对比分析结果以markdown方式返回显示。主要包括如何构建知识库,如何设计workflow、如何将工作流发布为工具、如何设计提示词、如何在agent中引入前面发布的工具,最终通过agent实现与用户交

hhue2007的专栏 2525

目标跟踪与视频时序分析基础

两帧均有目标,却因快速移动导致检测框无重叠,仅靠交并比(IoU)无法维持身份关联。本文通过手算与纯Python实现最小跟踪流程,揭示IoU仅为位置线索,不能应对快速位移或遮挡。实验表明,即使目标真实存在,低重叠也会触发新编号。强调跟踪需结合运动预测、外观特征与阈值验证,避免误判。

Mr数据杨 2335

CodeTON Round 9 题解(A~E)

直接构造2i−1即可,因为2i−1modii−1。

Ciallo~ 1033

【WRFDA实操第一期】服务器中安装 WRFPLUS 和 WRFDA

【WRFDA实操第一期】安装 WRFPLUS 和 WRFDA

WW、forever的博客 2037

CodeTON Round 9 (Div. 1 + Div. 2, Rated, Prizes!)(A-C1,D)

高深

Vcoistnt的博客 380

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes!)

CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes!)

m0_57221330的博客 815

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes)

CF系列题解(本场实况异常精彩,可惜题主要早八,结束就睡了,t宝有点可惜,jls我滴超人!!!) CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes!)题目A. Good Pairs原题链接题意题解思路代码B. Subtract Operation原题链接题意题解思路代码C. Make Equal With Mod原题链接题意题解思路代码D. K-good原题链接题意题解思路代码 题目 A. Good Pairs 原题链接 A. Good Pairs 题意 .

weixin_56898701的博客 2600

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

CodeTON Round 1 (Div. 1 + Div. 2)

CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes!) A - Good Pairs 签到~ #include <bits/stdc++.h> #define int long long #define Pa pair<int,int> using namespace std; const int N=1e5+5; struct node { int x,id; bool operator < (const

yezzz的博客 877

CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes)(ABCDE)

CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes!)(ABCDE) 晚点补F题 A. Good Pairs 题意: 给出长度为n的序列,去找个两个坐标i,ji,ji,j(可以相同),满足对于序列中的所有下标k, 满足公式∣a[i]−a[k]∣+∣a[k]−a[j]∣=∣a[i]−a[j]∣|a[i]-a[k]|+|a[k]-a[j]|=|a[i]-a[j]|∣a[i]−a[k]∣+∣a[k]−a[j]∣=∣a[i]−a[j]∣ 思路: 发现样例输出的就是每个序列

一只大菜鸡的博客 1495

CodeTON Round 9 (Div. 1 + Div. 2, Rated, Prizes!) ABC题

首先 z ∈ [y - x, y + x],当y = m时,有 z ∈ [m - x, m + x],既然此时 z < m - x,那我们不妨假设有 z = m - x,所以让 z + k + k 就刚好等于最大值。接下来考虑什么时候会有特殊情况,我们发现,当y>=2*x时,x ^ y 的范围是 x ~ 3x,此时最小值都大于x,那么肯定不可能是x的因子。假设 z=k*x 那么就是 kx + x <= m,解出来 k <= [(m - x) / x] = [(m / x) - 1]

qq_61422664的博客 906

回文自动机+CodeTON Round 2 C,D

数据结构+算法=代码

R的博客 849

CodeTON Round 4 (Div. 1 + Div. 2, Rated, Prizes!)

CodeTON Round 4 (Div. 1 + Div. 2, Rated, Prizes!)

m0_63216173的博客 372

CodeTON Round 1 (Div. 1 + Div. 2) - B, C, D

题意 给定一个长度为 n 的非负整数数列,可以进行若干次如下操作:问,是否能将数列中所有元素变为相同的?思路 忽略到一点:可以模上元素本身!!每次操作可以让模上数列中的最大值,让数列中的最大值变为 0。 这样,所有大于等于 2 的元素都可以变为 0。但如果数列中有 1 存在的话,就无法将 1 也变为 0。Code 经验 场上一直在想,到底是模几啊,是 2, 3, 5, 7 就行么?想了半天发现有反例,然后就卡住了。。 一直没想到可以模上自己。。一定要先考虑特殊的情况啊!题意 给定一个数 nnn,判断是否可以

Mr_dimple的博客 298

CodeTON Round 9 (Div. 1 + Div. 2, Rated, Prizes!)(前五道)

每个数为下标i*2-1(注意这里下标i从1开始),这样每个数取余得到的是下标i-1必定不同,且当i=50时,a_{i}为99在范围内符合条件。帮他找到一个s的非空子字符串p并且f(p)为偶数或者声明不存在这样的子字符串。四个字符时,能否在三个字符不行时行,加中间的字符abab,f(abab)=7;,使得每个 1≤i≤n 的数组 ai∈S,并且在所有 1≤i

qq_68286180的博客 680

CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes)(A-C)

A. Good Pairs 题意: 思路: 观察上面的数学等式,有没有发现只要绝对值开出来不变号,那么一定成立?所以取个最大和最小即可 #include<bits/stdc++.h> using namespace std; const int maxn=2e5+100; struct node{ int v,idx; }a[maxn]; bool cmp1(node a,node b) { return a.v<b.v; } int main() { int n

RIPKEY的博客 549

CodeTON Round 9 (Div. 1 + Div. 2, Rated, Prizes!)题解

思路:对于1来说不论什么数都是取模为0,但是对于2来说让其取模为1,3取模为2,以此类推得到从2开始往后的公式a[i]=i+i-1;

2301_80475191的博客 392

CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes! (A - D 题解)

codeforces 的 CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes!

Bananaaay的博客 769
上一篇: dfs练习题及代码(原创)(c++)
下一篇: 写了一些dp
Suroo
博客等级 码龄2年 6粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值