题面链接

https://ac.nowcoder.com/acm/contest/23106/C

题面

思路

其实这道题目只是描述可能有些误导,其实就是按照题目描述的模拟就好了,我们每次如果需要寄存器的读操作,那么就在尽可能远的地方插入空语句就好了,我们可以开一个数组,然后来记录相邻两个程序语句之间空语句的数量,这样我们就能很好的统计两条语句之间的语句个数,详情请看代码

代码

#include<bits/stdc++.h>
using namespace std;
//----------------�Զ��岿��----------------
#define ll long long
#define mod 1000000007
#define endl "\n"
#define PII pair<int,int>int dx[4]={0,-1,0,1},dy[4]={-1,0,1,0};ll ksm(ll a,ll b) {ll ans = 1;for(;b;b>>=1LL) {if(b & 1) ans = ans * a % mod;a = a * a % mod;}return ans;
}ll lowbit(ll x){return -x & x;}const int N = 2e6+10;
//----------------�Զ��岿��----------------
int n,m,q,a[N][4],d[N];//d[i]表示的是第i个语句和第i-1个语句的差int vis[N];int main()
{// std::ios::sync_with_stdio(false);// std::cin.tie(nullptr);// std::cout.tie(nullptr);cin>>n;for(int i = 1;i <= n; ++i) {for(int j = 1;j <= 3; ++j) {cin>>a[i][j];}}ll ans = 0;for(int i = 1;i <= n; ++i) {for(int j = 1;j <= 3; ++j) {if(a[i][j]){//如果当前这一位要指向i-j位int sum = 0;for(int k = i-j+1;k <= i; ++k) sum += d[k];//将这个范围内的差分和求出来sum += j-1;//加上两操作语句之间的语句个数if(sum < 3) {//如果总共操作数小于3d[i] += 3 - sum;//插入空操作}break;}}}for(int i = 2;i <= n; ++i) {ans += d[i];}cout<<ans<<endl;return 0;
}

Baby‘s first attempt on CPU(贪心+模拟)相关推荐

  1. 校内hu测(10.6T2,T3)(乱搞+贪心+模拟)

    @liu_runda T2.便(then) [题目描述] 给出一个R*C的棋盘.共有R行C列,R*C个格子.现要在每个格子都填一个非负整数.使得任意一个2*2的正方形区域都满足这样的性质:左上角的数字 ...

  2. 【NOIP2013】积木大赛(差分数组,贪心模拟)

    题目 原题链接 问题描述 分析 直观思路--贪心模拟:每次都处理最长正整数区段. 以[2,3,4,1,2][2,3,4,1,2][2,3,4,1,2]为例: [2,3,4,1,2]⟹[1,2,3,0, ...

  3. HDU - 6746 Civilization(贪心+模拟)

    题目链接:点击查看 题目大意:中文题面 题目分析:一道比赛时写崩了的模拟,赛后参考别人的代码,发现原来这个题目可以写的如此简单 说会题目,n 只有 500 ,可以 n * n 枚举每个位置作为起点,对 ...

  4. CodeForces - 1362E Johnny and Grandmaster(贪心+模拟)

    题目链接:点击查看 题目大意:给出一个基数 p ,再给出 n 个指数 k ,换句话说,现在有一个长度为 n 的序列,每个元素都是 p^k[ i ] ,现在需要将这个序列分到两个集合中,使得两个集合元素 ...

  5. CodeForces - 1321C Remove Adjacent(贪心+模拟)

    题目链接:点击查看 题目大意:给出一个长度不超过100且只包含小写字母的字符串,现在规定,如果某个位置 i 的相邻位置存在着当前位置所代表字母的前一个字母,即 i - 1 和 i + 1 中存在着 a ...

  6. CodeForces - 1303D Fill The Bag(贪心+模拟)

    题目链接:点击查看 题目大意:给出一个背包,容量为 k ,再给出 n 个物品,每个物品的大小保证是 2 的幂次,现在可以进行操作,使得一个物品分为大小相等的,且大小等于原物品一半的两个物品,比如一个物 ...

  7. [cf797c]Minimal string(贪心+模拟)

    题意: 给出了字符串s的内容,字符串t,u初始默认为空,允许做两种操作: 1.把s字符串第一个字符转移到t字符串最后 2.把t字符串最后一个字符转移到u字符串最后 最后要求s.t字符串都为空,问u字符 ...

  8. Codeforces Round #656 (Div. 3) F. Removing Leaves 贪心 + 模拟

    传送门 文章目录 题意: 思路: 题意: 思路: 首先有一个贪心策略就是每次都找一个叶子节点最多的点,让后删掉他的kkk个叶子节点,现在我们就来考虑如何模拟这个过程. 我们整一个vector<s ...

  9. 国王游戏(贪心+模拟)

    题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成一排,国王站在队伍的最 ...

最新文章

  1. Python之路【第十二篇】:函数
  2. 关于图片轮播的几种思路
  3. 全球与中国PTFE涂层玻璃布市场供给趋势及十四五投资规划研究报告2021年版
  4. Java2精要_java知识精要(一)
  5. vector中resize和reserve接口的异同
  6. (18)css常用样式—定位属性
  7. 专访iQOO Pro产品经理:以更好的产品 更低的价格推进5G生态普及
  8. 【转】CSS(10)盒子模型
  9. 关于oracle的物理dg,单机上创建物理DG(Oracle 10g单实例)
  10. linux常用命令,亲测可用
  11. Python开发制作酷狗和QQ音乐下载器
  12. c# lu分解的代码_线性方程组的分解法——LU分解法
  13. 微信公众号模板消息接口
  14. VisibilityAwareImageButton.setVisibility can only be called from within the same library group (grou
  15. 廉颇老矣?尚能饭否?64岁的Python之父被微软录取!
  16. day15_css补充、js基础、dom基础
  17. [网络性能测试学习笔记] 测试AX3 Pro WiFi6无线路由器的系统转发能力(硬件转发交换能力L23吞吐量,L47应用层能力-最大可支持设备用户数,并发连接数等)
  18. Vuforia应用之相机自动对焦功能
  19. win10如何显示我的电脑在桌面
  20. 《流浪地球 2》 Deepfake 小试牛刀,45+ 吴京「被」年轻,变身 21 岁小鲜肉

热门文章

  1. python从语音生成MFCC特征
  2. Ubuntu: No space left on device,无法创建新文件夹,无法创建新文件,无法存储文件
  3. Codeforces Round #476 (Div. 2)
  4. Mysql启动找不到mysql.sock文件问题(Centos7)
  5. MVC过滤器详解 面向切面编程(AOP)
  6. CentOS 本地ISO 挂载并配置本地软件源
  7. SharePoint 2010学习资源
  8. 微信小程序入门 ——增删改查+页面跳转+传值取值+布局样式
  9. 使用“Grafeas”元数据API和“Kritis”部署授权管理软件供应链
  10. linux里用cmake安装的软件要怎么卸载?