codeforces 997B 数学

【codeforces之路】(简单的数学题)(6367字)(更新至2023.1.17) 求使得数列和为偶数的最小操作次数,如果原来是偶数的话为0,如果是奇数的话,只需要找到最小的改变奇偶性的次数,由于数比较小可以直接暴力枚举解决。这道题的目的是构造出一个数列,使得任取两个数其中较小的可以整除较大的,我们可以想到构造出一个2的等比数列,显然高次的可以被低次的整除。找规律,1是特殊的,10有9个这样的数,100有9个这样的数,得实现。时间2022.12.16,rating:1186。 阅读详情

当然,如果你采取打表找规律的方法做的话,本题当然是一道水题。

但是这个规律是怎么来的呢?

首先我们可知,在{1,5,10,50}{1,5,10,50}中取nn个组成不同数的方案数,和在{0,4,9,49}中取nn个的方案数是一样的。这样转化了之后,这些数两两之间互质,并且出现了0,更加好处理。

我们现在尽量去限制4和9,使得0和49可以任意取。

然后我们发现,9个4=4个9+5个0,为了避免重复,我们取的4的个数不能超过8个。

打表找用0和49代替4和9的例子,发现1个4+5个9=1个49+5个0,所以只要取了4,取9的个数就不能超过4个。如果没有取4,那么取9的个数就不能超过48个。

接下来发现,2个4+1个49+6个0=9个9。也就是说,当不取4的时候,取9的个数不能超过8个。

有了以上三点限制之后,我们可以枚举取4和取9的个数i和jj,剩下的数全选0和49,方案数是n−i−j

见下面这个代码,可以发现,当循环跑满了之后的答案会呈现一种线性增长,这就是打表找出的规律的由来。

#include<bits/stdc++.h>
using namespace std;
#define RI register int
typedef long long LL;
int n;LL ans;
int main()
{
    scanf("%d",&n);
    for(RI i=0;i<=8&&i<=n;++i)
        for(RI j=0;j<=(i==0?8:4)&&j+i<=n;++j)
            ans+=n-i-j+1;
    printf("%lld\n",ans);
    return 0;
}
inside VC 5 code&Tool024 立即下载

相关推荐

JNChartLib

自行封装的曲线图工具类,他事先了一些单纯的LineChart无法实现的功能,可以直接导入到项目中引用.可以不做任何的修改.方便快捷

Codeforces的一些数学题、Atcoder数学题

Codeforces的一些数学题、Atcoder数学题

青少年趣味编程 1814

Codeforces 988 D. Points and Powers of Two(数学+结论)

codeforces每日一题。 题意: 给出一个数组,让你挑选出能组成任意pair差值为2的幂的序列,并且使这个序列长度尽可能大。 思路: 针对于挑选出来的序列,任意pair对的差值为2的幂数。 假设有多个pair对,设dis(a,b)=2的x次幂,dis(a,c)等于2的y次幂,即有dis(a,c)=dis(a,b)+dis(b,c)=2的x次幂+2的y次幂,很明显若是dis(a,c)为2的幂数,那么x==y,可得每对pair的dis是相等的。 那么对于第四对pair,dis(a,d)=3*dis(a,b),很明显不符合条件。 所以这道题的目的就是在数组里寻找是否有长度为3的序列满足题意,如

CodeForces 997 简要题解

Convert to Ones 翻转操作实际就是合并两段 000 ,特判全 111 的情况,假设有 kkk 段 000 ,答案是 (k−1)min(x,y)+y(k−1)min(x,y)+y(k - 1)\min(x, y) + y 。 #include &amp;lt;bits/stdc++.h&amp;gt; using namespace std; typedef long long ll; ...

wxh010910 3132

CodeForces – 1323D Present(思维+数学)

题目链接:点击查看 题目大意:给出一个数列 a ,求出   题目分析:如果暴力的话显然时间复杂度是 n * n 的,我们应该想办法去优化,比赛的时候想用线段树,但是不会在维护异或的前提下区间加法,也想过用矩阵维护,但丝毫没什么用呀,队友想到了可以按位维护,也就是维护26个线段树,我觉得太麻烦了就放弃这个题了,补题的时候看了题解,感觉题解已经说的很明白了,在这里再记录一下吧,感觉还是自己太菜了,需要多做题长见识 题解的意思是,可以按位维护,因为异或等位运算,最大的特点就是,每一位都可以视为独立的个体,互不影响,互不干预,这样我们在单独处理第 k 位的时候,因为要计算 a[ i ] + a[ j

LightningChart使用教程:创建 JS 散点图

这是对 LightningChart JS XY 图表一些有趣功能的快速技术研究,以及如何使用 LightningChart JS 创建嵌入式散点聊天和添加自定义交互。 此图表将可视化一个 XY 坐标列表以及一个额外的自定义属性,它只是一段文本。这些自定义属性将与 UI 文本元素一起显示,这些元素将与用户的鼠标移动交互。 我们将介绍的突出功能是: 什么是散点图? 如何创建散点图? 如何将自定义属性附加到数据点。 如何创建交互式 UI 文本元素。 最终结果 什么是散点图? 散点图或散点图是..

Augenstern__zyx的博客 1370

Codeforces Round 997 B 题——一道类拓扑排序题

CodeforcesRound997B题——一道类拓扑排序题

2301_81618761的博客 367

GD32F4系列替换STM32F4,HAL库CAN初始化卡死?一个Sleep模式的坑与填坑实录

本文详细解析了GD32F4系列替换STM32F4时,HAL库CAN初始化卡死的问题根源——Sleep模式差异。通过对比两款芯片CAN控制器的默认状态,提出了不修改HAL库源码的解决方案,即在HAL_CAN_MspInit()中清除SLEEP位,并分析了该方法的优势。文章还提供了国产MCU替换的通用建议和调试技巧,帮助开发者高效解决问题。

weixin_29174013的博客 217

CodeForces-651C 思维数学

思路:两边平方化简一下可以发现 x1==x2或者y1==y2时成立 算有多少个组合  就是算组合数  1+2+3......+n同时要减去相同的点的组合数 例如有2个(1,2) 3个(2,2)就要减去   (1  )+(2+1)  前者是(1,2)的重复数,后者是(2,2)的重复数    使用map可以很方便快捷地码完 其中cnt要用long long  #include&lt;bits/s...

Bug___Maker的博客 354

Mathtype公式排版避坑指南:固定行距20磅下如何完美显示上下标(实测有效)

本文针对学术论文在固定行距20磅要求下,Mathtype公式上下标显示不全或被裁剪的问题,提供了实测有效的解决方案。文章深入剖析了固定行距与公式排版的冲突原理,并详细指导用户通过调整Mathtype的“定义间距”参数(如下标深度、上标高度),以及利用“格式化公式”功能进行批量处理,确保公式在严格遵守期刊格式要求的同时清晰完整显示。

weixin_29228203的博客 1069

【NLP】文献翻译4——CH-SIMS:中文多模态情感分析数据集与细粒度的模态注释

CH-SIMS: A Chinese Multimodal Sentiment Analysis Dataset with Fine-grained Annotations of Modality摘要1. 介绍2. 相关工作2.1 多模态数据集2.2 多模态情感分析2.3 多任务学习3. CH-SIMS 数据集3.1 数据获取3.2 标注3.3 特征提取4. 多模式多任务学习框架4.1 单模态子网4.2 特征融合网络4.3 优化目标5. 实验5.1 基准5.2 实验的细节5.3 结果和讨论5.3.1 与

YoungSeng's Blog 1万+

CF Round 997 记录 & 题解 (div. 2 A - E)

CF Round 997 记录 & 题解 (div. 2 A - E)(摘自2025年日祭)

一枚初中生的博客 919

NVIDIA Isaac Sim scene_synthesizer 创建机器人操控任务场景使用教程

【摘要】Scene Synthesizer是一个用于3D场景程序化生成的Python库,专为机器人仿真训练设计。文章介绍了其安装方法(pip或git)和核心概念:1) 资产(Asset)系统支持多种3D模型格式和参数化尺寸调整;2) 场景(Scene)管理通过有向无环图组织对象,支持基于锚点的层级合成;3) 提供了丰富的程序化资产(如橱柜、货架、餐具等)和6个预定义厨房场景。该库采用仿真器无关架构,强调物理仿真的多样性和扩展性,相比现有数据集和生成模型能创建更复杂的交互场景,适用于机器人操作任务训练。

机器人控制与仿真应用 1151

codeforces997C

Sky Full of Stars CodeForces - 997C On one of the planets of Solar system, in Atmosphere University, many students are fans of bingo game. It is well known that one month on this planet cons...

weixin_30702413的博客 532

继电保护原理1.2-反时限过流保护

反时限过流保护

让你爱上电路设计 1万+

基于STM32+华为云设计的智慧农业灌溉系统(2023升级版)(158)

本项目设计一种基于STM32的智慧农业监测系统。该系统能够检测空气温度、湿度、光强度和土壤湿度等关键指标,并自动调节浇水量,实现作物生长环境的精细化管理。同时,本项目还支持本地LCD屏幕数据显示和通过ESP8266上传数据到华为云物联网平台,同时搭建流媒体服务器实现摄像头远程监控。最重要的是,本项目将利用Qt开发Android手机APP,使用户可以远程查看监测情况,了解农作物生成情况。

1万+

CodeForces - 997C Sky Full of Stars

题目链接 CodeForces - 997C Sky Full of Stars 题解 有空补一下套题题解Qwq,然而我只是pilpuQwq 设\(f(i,j)\)表示至少有i行j列一种颜色的方案数 可以发现,当ij有相交时颜色只能为一种 那么对于\(i=0 || j=0\)时\(f(i,j) = C_n^i * C_n^j*3^{(n - i) *(n - j) + i + j}\) ...

agtvo48266的专栏 254

多角度模板匹配的模板创建技巧

基于形状的模板匹配多角度创建技巧

manuoo的专栏 3403

codeforces997C Sky full of stars

传送门:http://codeforces.com/problemset/problem/997/C 【题解】 注意在把$i=0$或$j=0$分开考虑的时候,3上面的指数应该是$n(n-j)+j$ 至少一行一列相同颜色,那么这些相同颜色的行列一定是同一种颜色,所以是$3^((n-i)(n-j)+1)$。 如果只有若干行相同颜色,那么这些相同颜色的行之间的颜色不一定相同,所...

aklm45097的博客 385

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

codeforces 997C.Sky Full of Stars

题目链接:codeforces 997C.Sky Full of Stars 一道很简单(?)的推式子题 直接求显然不现实,我们考虑容斥 记\(f(i,j)\)为该方阵中至少有\(i\)行和\(j\)列为相同颜色的情况 那么显然有\(ans=\sum_{i=0}^n \sum_{j=0}^n C_n^i C_n^j (-1)^{i+j-1} f(i,j)\ \ (i+j\neq0)\) ...

adfa4535的博客 231

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【CodeForces 997C】Sky Full of Stars(组合计数)

题目链接:【CodeForces 997C】Sky Full of Stars 官方题解:Codeforces Round #493 — Editorial 题目大意:有一个n×nn×nn\times n的网格和三种颜色,问有多少种染色方案,使得至少一行或者一列颜色一样。n≤1000000n≤1000000n\le 1000000 如果n≤3000n≤3000n\le 3000,那么直接暴力...

Galaxy Coder 的博客 1076

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

codeforces 997 B. Roman Digits(打表找规律)

http://codeforces.com/contest/997/problem/B 题意:有四种数字1,5,10,50 选x个数字,问和不同的有多少种 思路:看题目 没思路,打表找规律 (其实就是不会做,看看能不能猜结论) 打表发现n=11,结果为292 此后每项加49,直接暴力求出前面后面公式输出答案 #include<bits/stdc++.h> #define fi fi...

- 回忆゛ 225

codeforces997B 2000分打表

题目传送门 题意: 有四种罗马数字:。分别表示十进制数。 每个罗马数字相当于一个字符。 一个字符串的权值为每个罗马字符对应的十进制数累加值。 一个长度为的字符串,可以有多少种权值。 数据范围:。 题解: 设表示长度为的字符串的权值种类数。 时,暴力计算。 时,输出。 感受: 这种题不会做,直接打表。 我打了前个数,没有看出来。 ...

Irving0323的博客 481

Codeforces Round 997 (Div. 2)-E. Nested Segments

好子数组的定义是:当子数组排序后,中间两个数相等(偶数长度时)或任意奇数长度的子数组。此时的左边的数为选取的数x 右边的数则为比它大的数 刚好符合一个坏子序列 那么如果为奇数长度的序列 那么其必定不为0 所以可能出现的坏子序列的长度必定为偶数。:坏子数组必须是偶数长度,并且其对应的构造数组的和为0且包含中位数元素。通过遍历每个可能的候选数x,统计满足条件的坏子数组数目。因为将当前的数设置为中位数x 那么如果存在区间当其刚好和其前缀和只差为0时其。代码中的对当前数为x的情况时对所有的前缀区间做加法的含义是。

qq_61336509的博客 1848

codeforces997C 组合计数(容斥原理)

题意:一个N*N的的方格,一共有三中颜色,进行填涂,两种填涂方案不同当且仅当存在大于一个格子的颜色不同,问所有的填涂方案中有多少存在行是同种颜色或者列是同种颜色的方案数。 思路:直接求是行不通的,考虑总共的方案数是3^n*2,再容斥一下。 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1e6+5; const ll mod = 998244353; ll f[N],inv[N],

Karmen Yang 462

codeforces 997-C. Sky Full of Stars

题目链接 https://codeforces.com/contest/997/problem/C 题意 给一个n*n的矩阵,要往每个格子涂rgb三种颜色之一。问有多少种涂色方案,满足至少有一列或者一行的颜色是相同的。 分析 ans=至少有一行的+至少有一列的-至少有一行且有一列的 \[ ans=2\sum_{i=1}^{n} (-1)^{i+1} C^i_n \times 3^{(n-i)n}...

weixin_30800987的博客 171
上一篇: 多项式牛顿迭代和多项式开根
下一篇: codeforces 997E 线段树
litble
博客等级 码龄10年 329粉丝 286原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值