HDU-水饺基情 二维树状数组

该题就是简单的二维树状数组,保留一份棋盘的最新状态即可,树状数组里面就只保留在原有基础上增加或者减少的某一种饺子的数量。

代码如下:

#include <cstring>
#include <cstdlib>
#include <cstdio>
using namespace std;char op[5];char G[1050][1050];int cc[1050][1050];
// 数组中存储韭菜饺的数量,白菜饺的数量通过总数量减去韭菜饺来求void init()
{int k = 0;  // 定义韭菜为1,白菜为0for (int i = 1;  i <= 1024; ++i) {for (int j = 1; j <= 1025; ++j) {  // 由于一行的结束和另一行的开始种类相同,所以多加了一列来翻转kG[i][j] = (k ^= 1);}}
}int lowbit(int x)
{return x & -x;
}void modify(int x, int y, int val)
{for (int i = x; i <= 1024; i += lowbit(i)) {for (int j = y; j <= 1024; j += lowbit(j)) {cc[i][j] += val;}}
}int sum(int x, int y)
{int tot = 0;for (int i = x; i > 0; i -= lowbit(i)) {for (int j = y; j > 0; j -= lowbit(j)) { tot += cc[i][j];}}return tot;
}int main()
{int T, a, b, c, d, k;int A, B, C, S;while (scanf("%d", &T) == 1) {init();memset(cc, 0, sizeof (cc));while (T--) {    scanf("%s", op);if (op[0] == 'R') {scanf("%d %d %d %d", &a, &b, &c, &d);A = sum(c, d) - sum(c, b-1) - sum(a-1, d) + sum(a-1, b-1);if ((a + b) & 1) {  // 白菜多数S = (c-a+1)*(d-b+1) / 2;}else {S = ((c-a+1)*(d-b+1) + 1)/ 2;}B = S + A;C = (c-a+1)*(d-b+1) - B;printf("%d %d\n", B, C);}else {  // 'A' 为韭菜,‘B’ 为白菜scanf("%d %d", &a, &b);k = op[0] == 'A'; // 1为韭菜,0为白菜if (k != G[a][b]) {G[a][b] = k;if (k) {modify(a, b, 1);}else {modify(a, b, -1);}}}}}return 0;
}

转载于:https://www.cnblogs.com/Lyush/archive/2012/08/01/2617694.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/274699.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ui设计中的版式设计_设计中的版式-第3部分

ui设计中的版式设计and how not to suck at it以及如何不吸吮它 This is the 3rd and last part of the series. Here we take all our learnings from Part 1(Click to read) & Part 2(Click to read) and put to good use. Lets begin!这是本系列的第三部分也是最后一部…

听说你还在用开发者工具手动上传小程序,快来试试 miniprogram-ci 提效摸鱼

大家好&#xff0c;我是若川。持续组织了8个月源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

ucla ai_UCLA的可持续性:用户体验案例研究

ucla aiRole: UX Researcher / UX Designer / Critical-thinker角色&#xff1a; UX研究人员/ UX设计人员/批判性思维者 Scope: 4 weeks, March — March 2020范围&#xff1a; 4周&#xff0c;2020年3月至2020年3月 What I Did: UX Research, Speculative Design, Product D…

推荐10个国外图片素材网站

下面&#xff0c;为大家带来的 10 个国外精选的墙纸网站。 NO.1 Social Wallpapering 给我带来全新的体验&#xff0c; Web2.0 一个热门话题。可以让我自由的评选自己喜欢的东西&#xff0c;投票、评论、沉沦等等&#xff0c;对于网站内喜欢的东西可以做出自己喜欢的方式。进入…

大三的小白同学是如何拿到字节offer的,经验分享

这是来自大三邵小白同学的投稿。原文链接&#xff1a;https://juejin.cn/post/7092806181856657445很多时候我们容易羡慕别人成功了&#xff0c;却往往没有看到别人背后的努力。1前言大家好&#xff0c;我是邵小白&#xff0c;一个长沙某不知名双非的大三学生。今年三月份来到杭…

UNIBO大学博物馆网络设计—品牌重塑和数字产品设计

Brief / Redesign the Visual Identity of the University of Bologna Museum Network (SMA) and apply the new designs to a Digital Product简介/重新设计博洛尼亚大学博物馆网络(SMA)的视觉识别&#xff0c;并将新设计应用于数字产品 Period / Mar 2020 — June 2020期间/…

oracle中的sga和pga

oracle中的sga包含了几个主要的部分 1.shared pool 共享池 2.database buffer cache 数据库高速缓冲区 3.redo log buffers 重做日志缓冲区 4.large pool 大池 5.java pool java池 a.shared pool: oracle shared pool包括library cache(库缓存)和dictionary cache(数据字典高速…

进来做几道 JavaScript 基础题找找自信?

大家好&#xff0c;我是若川。持续组织了8个月源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

人物肖像速写_骄傲家庭:肖像项目

人物肖像速写2020 has been a solemn, transformative year. Pride month takes place in the context of a groundswell up-rising against racism and police brutality and in the continued isolation of COVID-19.2020年是庄严&#xff0c;变革的一年。 骄傲月的发生是在反…

答读者问:钱和成长,哪个更重要?

大家好&#xff0c;我是若川。持续组织了8个月源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

ui设计颜色的使用_UI设计中颜色使用的10条原则

ui设计颜色的使用重点 (Top highlight)1.颜色术语 (1. Color Terminology) Color terminology forms our foundation of color knowledge. Think of color terms like hue, tint, and shade as tools that we can employ to develop unique color palettes.颜色术语构成了我们颜…

Chrome插件:网易云音乐听歌识曲

大家好&#xff0c;我是若川。持续组织了8个月源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

五大常用算法之四:回溯法

1、概念 回溯算法实际上一个类似枚举的搜索尝试过程&#xff0c;主要是在搜索尝试过程中寻找问题的解&#xff0c;当发现已不满足求解条件时&#xff0c;就“回溯”返回&#xff0c;尝试别的路径。 回溯法是一种选优搜索法&#xff0c;按选优条件向前搜索&#xff0c;以达到目标…

如何设置ad18捕捉图标_图标设计中的像素捕捉

如何设置ad18捕捉图标More in the iconography series:• Foundations of Iconography• 7 Principles of Icon Design• 5 Ways to Create a Settings Icon• Icon Grids & Keylines Demystified• 3 Classic Icon FamiliesWe all want our designs to display sharp on a…

React Hooks 原理与最佳实践

大家好&#xff0c;我是若川。持续组织了8个月源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

BW:BW增量更新方法(假增量)

1 说说假增量 我们都知道&#xff0c;对于BW来说&#xff0c;很多ECC的标准数据源自带了增量更新功能&#xff0c;每天各种凭证产生的增量数据会自动堆积到增量队列里&#xff0c;然后BW端做一个增量信息包按天把这些增量抽取到数据仓库里&#xff0c;非常轻松自然&#xff0c;…

插图 引用 同一行两个插图_为什么插图是产品的重要组成部分

插图 引用 同一行两个插图“Hi, my name is Ludmila and I’m a UX/UI designer”“嗨&#xff0c;我叫Ludmila&#xff0c;我是UX / UI设计师” “Hi, Ludmila”“嗨&#xff0c;路德米拉” “Welcome”“欢迎” Not anonymously at all, I’ve been doing UX/UI design fo…

如果是你你会如何重新设计和定义维基百科(wikipedia)?

日期&#xff1a;2012-8-11 来源&#xff1a;GBin1.com 最近一家设计公司发布了一个关于如何重新定义和设计维基百科的网站&#xff0c;在这里网站里详细的刨析了如何重新设计维基百科的话&#xff0c;如何做品牌设计和网站设计&#xff0c;整个设计过程都使用非常详细的文档说…

祖父元素_帮助祖父母建立Skype帐户的UX经验教训

祖父元素“Empathy is a key part of a UX designers arsenal”, they say. It’s drilled into our heads that we need to be thinking about our user, about their journey, about what works best for them. And it does feel empowering to boast of empathy, inside vis…

ECSHOP批量添加商品到购物车

Ecshop是一款开源的网上商店系统&#xff0c;在我心目中可以算得上网上商城界的Wordpress了。 本文介绍如何实现在ecshop中批量添加商品到购物车。 大家都知道&#xff0c;默认的ecshop只能单件点击“添加到购物车”&#xff08;Add to Cart&#xff09;实现一件一件的添加商品…