首页 > 其他分享 >寒假训练 第一天 上午自主训练

寒假训练 第一天 上午自主训练

时间:2023-01-02 20:23:06浏览次数:55  
标签:10 训练 第一天 ll add 寒假 mp newpose dp

牛客小白月赛 传送门

F题 小杜跑酷(补题)

自己思路:递归跑每一种情况,机关位置分三个数组存排序+用指针(变量指向下标模拟)。
写了很久+改了更久,最后发现递归过程中一种情况修改了下标后会影响到下一种情况,
裂开不整去看题解...

题解dp+地图压缩
基本就是题解原代码,累了,copy借鉴大佬代码,快乐AC!
`#include <bits/stdc++.h>
using namespace std;

define ll long long

define endl '\n'

const ll mod=998244353;
const int N=5e5;
ll n,m;
ll mp[3][(N+10)3];
ll dp[3][(N+10)
3];
pair<ll,ll> a[N+10];
ll newpose[N+10];
void add(ll &x,ll &y)
{
x+=y;
if(x>=mod) x-=mod;
}
int main()
{
cin>>n>>m;
for(ll i=1;i<=m;i++){
cin>>a[i].second>>a[i].first;
}
sort(a+1,a+1+m);
for(ll i=1;i<=m;i++){
ll dis=a[i].first-a[i-1].first;
if(dis<2) newpose[i]=newpose[i-1]+dis;
else newpose[i]=newpose[i-1]+2;
mp[a[i].second-1][newpose[i]]=1;
}
dp[0][1]=1;
for(ll i=1;i<=3N+10;i++){
for(ll j=0;j<=2;j++){
if(!(j==1&&mp[j][i-1])) add(dp[j][i],dp[j][i-1]);
if(i-2>=0&&mp[j][i-2]) add(dp[j][i],dp[j][i-2]);
if(j>=1&&mp[j-1][i-1]) add(dp[j][i],dp[j-1][i-1]);
if(j<=1&&mp[j+1][i-1]) add(dp[j][i],dp[j+1][i-1]);
}
}
cout<<dp[0][3
N+10]<<endl<<dp[1][3N+10]<<endl<<dp[2][3N+10];
return 0;
}`

标签:10,训练,第一天,ll,add,寒假,mp,newpose,dp
From: https://www.cnblogs.com/wwww-/p/17020440.html

相关文章

  • 人体姿态估计(人体关键点检测)2D Pose训练代码和Android源码
    人体姿态估计(人体关键点检测)2DPose训练代码和Android源码目录​​人体姿态估计(人体关键点检测)2DPose训练代码和Android源码​​​​1.人体姿态估计2DPose方法​​​......
  • 代码随想录算法训练营第六天
    今日刷题4道:先复习了哈希表理论基础,然后刷了4道题。242.有效的字母异位词,349.两个数组的交集,202.快乐数,1.两数之和。为什么没有第5天呢,因为周日休息!ps:什么时候想到用......
  • SZTUACM寒假周报(2022.12.24~2023.1.1)
    SZTUACM寒假周报(2022.12.24~2023.1.1)杂项——搜索专题知识整理前言:因为之前搜索学得很随意,知识点很杂,加上期末一直在赶ddl,投入训练时间很少,所以本周决定整理一下有关搜......
  • 使用tensorflow1.12从零开始训练自己的yolo3
    有些步骤我不会解释为什么这么做,你只需要知道你这么做能得到什么就行,如果都要进行解释,一来你们不想看,二来有可能你根本就看不懂,,,,对于小白来说,我们都是懒人对吧,不懒的话你来看......
  • 今天是注册第一天
    本人只是一名普通的广工大三学生,近期学习编程是为了做出属于自己的项目,我认为学习编程需要多看一些课程,结合书籍理解,并且最重要的是要多动手写代码,调试代码。每周应该花不小......
  • 代码随想录算法训练营第四天LeetCode24,19,02
    代码随想录算法训练营第四天|LeetCode24,19,02.07,142LeetCode24两两交换链表中的节点题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/description///采用虚......
  • HHUACM2023寒假集训(低年级组)信息汇总
    第一周(1.2-1.8):基础算法题单链接:低年级组集训第一周:基础算法(一),低年级组集训第一周:基础算法(二)第二周(1.9-1.15):简单数学TODO第三周(1.16-1.22):数据结构基础TODO......
  • 训练周报一
    主要内容:线性dp及优化之前学习过的dp就只有暑假的基础dp和背包题单,后来就没有专门去推dp的内容,所以打算先补齐这个最大的短板计划是先刷些题,把主要的题型,转移方程,思考方......
  • 我的第一天学习-HelloWorld详解
    HelloWorld详解1.随便新建一个文件夹存放代码2.新建一个Java文件文件后缀名为.javaHello.java[注意]系统可能没有显示文件后缀名,需要我们手动打开,在文件查看中......
  • 代码随想录Day44 --- 2023第一天
    Eureka服务注册与发现:   服务注册中心:1.启动后,从其他节点拉取服务注册信息。2.运行过程中,定时运行evict任务,剔除没有按时renew的服务(包括非正常停止和网络故......