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

P3120 [USACO15FEB] Cow Hopscotch G

洛谷

由于需要考虑颜色的问题,所以可以考虑将总方法减去相同颜色的方案数,以此得到本次的结果。

使用前缀和,得到此处的方案总数。

然后就需要考虑如何处理颜色的问题了,由于需要进行区间修改与查询,很容易想到使用线段树进行优化,但是按照颜色数写很多树状数组明显空间开不下。

所以使用动态开点的方法。由于一棵树上有只有几个点会被查询,所以我们通过动态开点,只处理需要处理的节点,记录下它的左右儿子即可。

动态开点在需要修改时,开一个新的点记录,查询时直接返回初始状态即可。

代码:

#include<bits/stdc++.h>
using namespace std;
int r,c,k,a[1000][1000],pre[1000],dp[1000][1000];
const int mod=1e9+7;
struct ST{int c[7000000],ls[7000000],rs[7000000],cnt;void build(int k){cnt=k;}void pushup(int p){c[p]=(c[ls[p]]+c[rs[p]])%mod;}int New(){c[++cnt]=0;ls[cnt]=rs[cnt]=0;return cnt;}void change(int &p,int l,int r,int w,int v){if(!p)p=New();if(l==r)return void(c[p]=(c[p]+v)%mod);int mid=l+r>>1;if(w<=mid)change(ls[p],l,mid,w,v);else change(rs[p],mid+1,r,w,v);pushup(p);}int query(int p,int l,int r,int L,int R){if(!p)return 0;if(l>=L&&r<=R)return c[p];int mid=l+r>>1;int res=0;if(mid>=L)res+=query(ls[p],l,mid,L,R);if(mid<R)res+=query(rs[p],mid+1,r,L,R);res%=mod;return res;}
}seg;
signed main(){cin>>r>>c>>k;seg.build(k);for(int i=1;i<=r;i++){for(int j=1;j<=c;j++)cin>>a[i][j];}for(int i=1;i<=c;i++)pre[i]=1;dp[1][1]=1;seg.change(a[1][1],1,c,1,1);for(int i=2;i<=r;i++){for(int j=2;j<=c;j++){dp[i][j]=(pre[j-1]-seg.query(a[i][j],1,c,1,j-1)+mod)%mod;}int tmp=0;for(int j=2;j<=c;j++){tmp=(tmp+dp[i][j])%mod;pre[j]=(pre[j]+tmp)%mod;seg.change(a[i][j],1,c,j,dp[i][j]);}}cout<<dp[r][c];return 0;
}
http://www.zskr.cn/news/75726.html

相关文章:

  • ABC435
  • 散修带你入门鸿蒙应用开发基础:启程篇(上) - 鸿蒙
  • 分库分表是同一个实例内的多个不同库/不同表吗
  • Launch X431 PRO Elite: Full System CAN FD Active Tester OBD2 Scanner for Euro/American Cars
  • 20232405 2025-2026-1 《网络与系统攻防技术》实验八实验报告
  • 实用指南:最小作用量原理MATLAB仿真
  • 惊艳进博,新品圈粉全球,德国国民品牌inne因你守护儿童健康
  • 2025年12月凝壳炉厂家权威推荐榜:真空感应/自耗/150kg至1t真空凝壳炉,专业铸造与高效熔炼技术深度解析
  • 从德国药房到中国进博,inne用硬实力回答品牌怎么样
  • 20251206 - 并查集
  • 树的重心及dfs
  • 详细介绍:如何进行AI作图(架构图,流程图等)
  • 2025年进口地板十大品牌综合实力榜:聚焦高端家居与智能化未来
  • Java基础学习知识点笔记
  • AI搜索排名优化公司推荐:解锁智能时代曝光与转化新密码
  • 2025年国内GEO(AI搜索优化)营销公司推荐排行榜分析:摘星ai引领行业智造
  • 2025 年 12 月苏作红木家具品牌匠心推荐榜:东方雅韵与传世工艺的收藏级甄选
  • 2025年无锡上料机靠谱厂家推荐:看哪家技术实力强?
  • Java集合List详解:从入门到精通 - 教程
  • 2025-12-07 GitHub 热点项目精选
  • 2025年质量好的高温风机厂家推荐及选购参考榜
  • 2025年重庆五大板栗鸡店排行榜,南坪好吃板栗鸡店推荐及测评
  • 2025年质量好的玄武岩除尘布袋厂家最新权威推荐排行榜
  • 2025年比较好的三维阻尼铰链行业内知名厂家排行榜
  • 零基础从头教学Linux(Day 62) - 实践
  • 2025年企业债权处置专家TOP1推荐:从谈判到执行,雷诺律师的全流程解决方案
  • 山东AI公司哪家强?2025年最新区域产业观察及5家高潜力企业推荐
  • 山东AI公司哪家强?2025年最新市场格局与五家代表性企业推荐
  • 实用指南:基于微信小程序的粤语文化传播系统
  • 2025年质量好的斗式提升机厂家最新权威推荐排行榜