Jzoj4738 神在夏至祭降下了神谕(GOSICK系列)

并发编程中的锁机制:从原理到实战的深度解析 并发控制是分布式系统和多线程编程的核心概念,通过锁机制确保数据一致性和系统稳定性。其原理基于对共享资源的互斥访问,防止竞态条件导致的数据错误。在技术价值层面,合理的锁策略能显著提升系统吞吐量,避免死锁导致的系统瘫痪。应用场景涵盖数据库事务、高并发服务、分布式协调等多个领域,其中数据库锁和分布式锁是工程实践中的关键挑战。本文聚焦锁问题的专业解决能力,深入分析死锁检测、性能优化等实战技巧,帮助工程师掌握这一关键技术,成为团队中不可或缺的'工具人'专家。 阅读详情

我们先写裸的dp,设φ[i]表示长度为i的划分方案数,φ(0)=1

有φ(i)=Σφ(j) (|sum[j,i]|<=k),sum用前缀和预处理就好(将0视为-1)

那么我们考虑用树状数组快速更新,我们发现,若s[j](前缀和)在[s[i]-k,s[i]+k]中就可以合法转移

所以我们考虑将φ[i]的值插入到s[i]的位置上,每次更新即可

注意s[i]可能为负数,要开两倍长度

#include<stdio.h>
#include<string.h>
#include<algorithm>
#define N 200010 
#define LL long long
#define M 1000000007 
using namespace std;
struct Fenwick{
	LL s[N<<1];
	inline void add(int x,int k){ for(x+=200000;x<=400010;x+=x&-x) s[x]+=k; }
	inline LL sum(int x,LL S=0){ for(x+=200000;x;x^=x&-x) (S+=s[x])%=M; return S; }
	inline LL query(int l,int r){ return (sum(r)-sum(l-1)+M)%M; }
} w;
int n,k,s[N]; LL f[N]={1}; 
int main(){
	scanf("%d%d",&n,&k);
	w.add(0,1);
	for(int x,i=1;i<=n;++i){
		scanf("%d",&x);
		s[i]=(x?s[i-1]+1:s[i-1]-1);
	}
	for(int i=1;i<=n;++i){
		f[i]=w.query(s[i]-k,s[i]+k);
		w.add(s[i],f[i]);
	}
	printf("%lld\n",f[n]);
}

SAP IDOC实战:如何用EDI实现跨公司采购订单自动生成销售订单(附完整配置步骤) 本文详细解析了如何利用SAP IDOC与EDI技术,实现跨公司采购订单自动生成销售订单的完整流程。通过实战案例,从业务蓝图设计、输出条件配置、伙伴参数设定到IDOC消息类型处理,提供了清晰的配置步骤与故障排查指南,帮助企业打通内部业务流,构建高效的自动化闭环。 阅读详情

相关推荐

基于决策树的英雄联盟比赛胜负预测(含完整代码)

在代码中设置随机种子(例如 RANDOM_SEED = 2024)的主要目的是为了确保每次运行代码时,随机过程的结果是一致的。通过绘制不同参数组合下的准确率图,直观地展示了参数对模型性能的影响,帮助读者更好地理解和选择合适的参数。通过设置相同的随机种子(伪随机数),可以确保每次运行代码时,随机数生成器生成的随机数序列是相同的。如果在开发过程中遇到问题,设置固定的随机种子可以帮助你更容易地定位问题,因为每次运行代码时的数据和结果都是一样的。在科学研究和实验中,结果的可重复性是非常重要的。

oisflo的博客 1919

[测试题]神在夏至祭降下了神谕(oracle)

Description 我们村子在过去的 400 年中, 断绝与下界的接触, 过着自给自足的生活。夏至祭是一场迎接祖灵于夏季归来, 同时祈求丰收的庆典。村里的男人会在广场上演出夏之军和冬之军的战争。 夏之军会打倒冬之军的大将冬男, 再放火将他连山车一起烧掉。参与这场演出的一共有 N+M 位战士, 其中 N 个人是冬之军, M 个人是夏之军。冬之军的大将冬男拥有改变季节的力量。 他每次可以任意选取...

weixin_30721899的博客 184

基于COMSOL电弧动态仿真模型优化:高收敛性可修改吹弧方案解析

在多物理场耦合分析中,电弧动态仿真历来是数值稳定性的难点:温度从室温跃升至数万开尔文,电导率随温度呈数量级跳变,流动、传热与电磁场相互牵制,极易引发求解器不收敛或初始值不一致等问题。如何构建高收敛性的数值模型,成为开关设备灭弧性能优化的重要技术基础。通过合理的几何简化、全耦合求解器配置、辅助扫描初始化策略以及参数化建模手段,可以实现对吹弧方案的灵活调整与批量寻优,从而系统性评估气流速度、喷口形状、触头间距等关键因素对熄弧性能的影响。这类仿真方法广泛应用于断路器、接触器等高压电器产品研发,为灭弧室结构设计提供

weixin_29758911的博客 350

神在夏至祭降下了神谕 树状数组和动态规划的结合

夏至祭是一场迎接祖灵于夏季归来同时祈求丰收的庆典。村里的男人会在广场上演出冬之军跟夏之军的战争,夏之军会打倒冬之军的大将冬男,再放火将他连山车一起烧掉。 谢尔吉斯村长已经选好了N个人参加演出,其中一些人负责演夏之军,另一些人负责演冬之军。由于人数众多,谢尔吉斯想把这N个人分成若干个连续的段。为了保证演出的顺利进行,每段的夏之君人数与冬之军人数之差的绝对值不能超过K。 谢尔吉斯想知...

CutieDeng的博客 605

3.6KW储能双向逆变器(原理图PCB源码)

通过百度网盘分享的文件:优快云 3.6KW储能双向逆变器 链接:https://pan.baidu.com/s/18NN6KnpywFUIDtAQ4b1LTg?pwd=csdn 提取码:csdn

2401_86562087的博客 2180

流体仿真软件:COMSOL Multiphysics二次开发_(3).流体仿真基础理论

流体仿真基础理论包括流体的基本性质、流体运动方程、边界条件、初始条件、湍流模型和网格生成等。在使用COMSOL Multiphysics进行流体仿真时,正确设置这些参数和条件是获得准确仿真结果的关键。通过实际应用案例,可以更好地理解如何在COMSOL中进行流体仿真,并提取和分析仿真结果。希望本文对流体仿真初学者和从业人员有所帮助。

kkchenjj的博客 1340

【挖坑记】JZOJ 4738 神在夏至祭降下了神谕

题目大意一个长度为n的01序列要分段,每一段的0、1个数不能相差k以上,问有多少种分段方案。 n<=1e5,k<=n 时间限制 1s 空间限制 256M解题思路n^2的DP很容易得出来,在此基础上优化。 b[i]表示前1~i个数中0、1个数差,则f[i]=sigma(f[j]) (|b[j]-b[i]<=k|)。 建一棵线段树,表示b[i]这个位置上f[i]的和,无脑查找即可。#inclu

baidu_34015648的博客 896

unity6000.0.3版本URP下ScriptableRendererFeature如何实现一张自定义贴图效果?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 583

JZOJ4738. 【NOIP2016提高A组模拟8.25】神在夏至祭降下了神谕

题解 考虑最暴力的dp, 设fifif_i表示在第i个点后面隔开的方案数。 fi=∑k=0,[k+1,i]满足题意fkfi=∑k=0,[k+1,i]满足题意fkf_i=\sum_{k=0,[k+1,i]满足题意} f_k 考虑优化, 对于0用-1表示,1用1表示,维护个前缀和, 如果某个区间满足题意,也就是|sr−sl−1|≤k|sr−sl−1|≤k|s_r-s_{...

lijf2001的博客 331

Python爬虫实战:使用最新技术爬取新浪新闻首页数据

本文详细介绍了三种爬取新浪新闻首页的技术方案,从简单的requests-html到强大的Playwright,再到分布式Scrapy架构。小规模爬取:requests-html或aiohttp方案需要JavaScript渲染:Playwright方案大规模分布式爬取:Scrapy-Redis方案。

2201_76125261的博客 1243

某物data魔改与变种算法还原(含加解密Py纯算)

某物data加解密、设备指纹魔改、变异、自定义加密分析与纯算还原

吴秋霖的博客 1278

【JZOJ A组】神在夏至祭降下了神谕

Description Input Output Sample Input 4 1 0 0 1 1 Sample Output 5 Data Constraint Hint 思路 显然用DP 设 f[i]表示第 1~i 个数分段的方案数。 转移固然是符合要求就转。 可以用数据结构维护,我用了线段树 代码 #include&lt;i...

Brute♂force 486

11、ThingsBoard集群部署k8s

今天终于有时间去搞这个啦,拖了很久了,一直没时间,因为我本地没有那么多机器资源,开虚拟机不够,如果租用阿里云服务器,需要有充值的时间,因为这个费用是按小时付费,需要有连贯的时间来搞才行,今天恰好有时间,就开始搞了,弄成功搞出来了,特地写博客记录下来。

AldrichEugene 990

[树状数组]jzoj4738. 神在夏至祭降下了神谕

Description Input  Output  Sample Input  4 1 0 0 1 1 Sample Output 5 Data Constraint Hint   Solution 很容易想到用dp,设f[i]为在i处划分的方案数,转移为f[i]+=f[j](j&lt;i且j~i之间的人数差不超过k),时间O()。 考虑优化,我们用...

Lefz_Bamboo的博客 311

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

JZOJ 4809. 挖金矿

二分

Luckfort 539

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

AD74412R与STM32F412ZG在工业信号采集中的优化方案

在嵌入式系统开发中,模拟信号采集与数字信号处理是核心挑战。AD74412R作为一款软件可配置的模拟前端芯片,通过灵活的输入/输出模式配置,显著提升了信号调理的通用性。其与STM32F412ZG微控制器的组合,利用ARM Cortex-M4内核的硬件浮点运算能力,实现了高效的数据处理。这种方案特别适合工业控制场景,如温度监测系统,能够同时处理多种传感器信号(如PT100、热电偶等),并通过SPI接口实现高速数据传输。实测表明,该方案在采样率、精度和功耗等方面均优于传统分立方案,同时大幅减少PCB面积,是工业自

aoanping0730的博客 411

[Jzoj 4709]. 【NOIP2016提高A组模拟8.17】Matrix

Description InputSample Input 4 3 5 4 1 7 3 4 7 4 8 Output Sample Output 59716The Solution这是雅礼中学和我们学校的联考题呀。。上面给的那个dp可以理解成在一个网络上,只能向右,向下走,向下走的话,加上的贡献就要b,向右走的话加上的贡献就要 a。 那么对于l和t,看看这个位置往右往下走多少步就是

HownoneHe的博客 703

JZOJ 4686 通讯【NOIP2016提高A组8.12】

通讯题目大意HHJJYYHHJJYY特工组织共有NN个部门(总部编号为0),通讯网络有MM条单向通讯线路,每条线路有一个固定通讯花费CiC_i。 现在要从总部通过通讯线路发布一条HHZZJJHHZZJJ怪兽入侵重要据点的紧急信息,要求所有部门都要收到信息且总费用为所有被使用了的线路的费用和。 另外,如果两个部门可以直接或间接地相互传递消息(即能将信息由X传递到Y,同时能由Y传递到X),我们就可以

XianHaoMing的博客 1700

JZOJ5620. 【NOI2018模拟4.1】修炼

题目 题解 很自然的想法,首先一定会按照didid_i排序。 设fifif_i表示前i个物品,第i个物品一定购买的时候最大的魂力。 转移的时候,就枚举上一个购买的物品j, 计算这一段时间j物品的收益。 fi=fj+(di−dj−1)∗gj+rjfi=fj+(di−dj−1)∗gj+rjf_i=f_j+(d_i-d_j-1)*g_j+r_j 这样子是O(n2)O(n2)O(n^...

lijf2001的博客 268

Jzoj4737 金色丝线将瞬间一分为二(GOSICK系列)

继续上一篇那套题 可以将x,y宙分开讨论,对于每一维维护一个数据结构求出所有比之小的部分的和和比之大的部分的和 所以我们先将这些点分别按x,y轴排序,得到rankx和ranky之后用树状数组即可 #pragma GCC optimize("O3") #pragma G++ optimize("O3") #include #include #include #define LL l

扩展の灰(Extended Ash/Cooevjnz) 852

JZOJ5843. 【省选模拟2018.8.23】b

Description 给定 n 个正整数序列,每个序列长度为m。 选择至少 1 个序列,在每个被选择的序列中选择一个元素,求出所有被选择的元素的 gcd。 求所有方案的结果之和,答案对 1e9+7 取模。两种方案不同,当且仅当存在至少一个元素,在一种方案中被选择,在另一种中没有。 Input 第一行,两个正整数n,m。 接下来n 行,每行m 个正整数,第i 行代表序列。 O...

lijf2001的博客 385

[树状数组][DP]JZOJ 4738 神在夏至祭降下了神谕

Description Input Output Sample Input 4 10 0 1 1 Sample Output 5 Data Constraint Hint 分析 状态转移方程显然: f[i]=∑f[j] (|s[i]-s[j-1]...

weixin_34259159的博客 162

[树状数组][前缀和] Jzoj P4738 神在夏至祭降下了神谕

Description Input Output Sample Input 4 10 0 1 1 Sample Output 5 Data Constraint Hint 题解 设f[i]为前i个人的划分方案数 f[i]=∑f[j...

weixin_30549175的博客 160

JZOJ4737. 【NOIP2016提高A组模拟8.25】金色丝线将瞬间一分为二

题解 很显然x的贡献跟y的贡献是互相独立的, 有一种思路,就是二分个答案,然后转化成判定性问题, 也就是只要在O(n)的时间里面统计好距离和就可以了。 用x来举例,y同理, 将x从小到大排序,并记录每个x是第几个x。 枚举i,记录在i前面有多少个x是在mid之前,以及它们的和。 显然,i这个位置的x就是前面的个数*xixix_i-前面x的和。 如果题目再加强一下,就是要输出...

lijf2001的博客 340

【JZOJ A组】金色丝线将瞬间一分为二

Description Input Output Sample Input 5 10 1 1 2 2 3 3 4 4 5 5 Sample Output 4 Data Constraint 这里写图片描述 Hint 思路 首先,我们考虑n log^2 n的做法。 不难发现,x和y可以分开单独处理 二分答案ans,把1到ans的元素排序...

Brute♂force 520
上一篇: Jzoj4737 金色丝线将瞬间一分为二(GOSICK系列)
下一篇: Jzoj4742 单峰
扩展的灰
博客等级 码龄12年 60粉丝 342原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值