题目の传送门: luogu:https://www.luogu.org/problem/show?pid=1558 poj:http://poj.org/problem?id=2777 题目大意:给有个长度为L的区间,支持区间染色和区间查询颜色数. 非常水的线段树.一眼看出,然后30min AC(尽管我luogu上交了四遍)(我太辣鸡了orz) 这里我们显然可以状态压缩.用(1 << x) 不过要记住初始颜色1的值要设为2(1<<1)就因为这个我WA了两遍..(然后又因为线段树忘了…
写这篇博客不是为了总结我的算法,而是为了纪念让我爆零的套路..... 色板游戏 色板长度为\(L\),\(L\)是一个正整数,所以我们可以均匀地将它划分成\(L\)块\(1\)厘米长的小方格.并从左到右标记为\(1, 2, ... L\). 现在色板上只有一个颜色,老师告诉阿宝在色板上只能做两件事: \("C A B C"\) 指在\(A\)到 \(B\) 号方格中涂上颜色 \(C\). \("P A B"\) 指老师的提问:\(A\)到 \(B\)号方格中有几种颜…
P1558 色板游戏 题目背景 阿宝上学了,今天老师拿来了一块很长的涂色板. 题目描述 色板长度为L,L是一个正整数,所以我们可以均匀地将它划分成L块1厘米长的小方格.并从左到右标记为1, 2, ... L. 现在色板上只有一个颜色,老师告诉阿宝在色板上只能做两件事: "C A B C" 指在A到 B 号方格中涂上颜色 C. "P A B" 指老师的提问:A到 B号方格中有几种颜色. 学校的颜料盒中一共有 T 种颜料.为简便起见,我们把他们标记为 1, 2, ...…
题目传送门 色板游戏 题目背景 阿宝上学了,今天老师拿来了一块很长的涂色板. 题目描述 色板长度为L,L是一个正整数,所以我们可以均匀地将它划分成L块1厘米长的小方格.并从左到右标记为1, 2, ... L. 现在色板上只有一个颜色,老师告诉阿宝在色板上只能做两件事: "C A B C" 指在A到 B 号方格中涂上颜色 C. "P A B" 指老师的提问:A到 B号方格中有几种颜色. 学校的颜料盒中一共有 T 种颜料.为简便起见,我们把他们标记为 1, 2, ...…
色板游戏 思路: sb题: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 100005 struct TreeNodeType { int l,r,dis,mid,flag; }; ]; ]; inline void in(int &now) { ; ')Cget=getchar(); ') { now=now*+Cget-'; Cget=getchar(); } } void build(int now,…
P1558 色板游戏 状压线段树 题面 洛谷P1558 每次不同颜色覆盖一段区间,每次询问一段区间有多少种颜色 因为颜色数\(T\)很小,使用二进制表示状态当前区间有那些颜色,二进制第\(i\)位表示此区间是否含有\(i\)这种颜色,线段树合并信息时左右儿子信息或一下就好了. scanf读入char炸了我好久,最后换成cin就AC了 AC Code: #include <iostream> #define MAXN 100010 #define sl (x<<1) #define…
最近做了几道非常水非常水的dp...... 之后刷的一些水dp也会写在这里...... 此篇题目难度不递增!!! Emmmm....... 1.luogu1043数字游戏 以前看过这个题几遍,没做这个题(觉得太难了)...... 就是一道环形的区间dp......本来想按常规的思路拆成2n做,但是换算坐标好麻烦, 然后一看n,m好小于是就直接强行把数组错位做了...... 设\(f[i][j]\)为前i个点分j份能得到的最大值,\(g[i][j]\)为前i个分j份能得到的最小值, 用\(mod(…
3.暂停游戏 暂停游戏概述: 在游戏进行时,玩家有可能会遇到多种突发事件.在跑酷游戏中突发状况的发生对游戏的影响更甚,游戏进行时玩家死亡,游戏只能从头开始,那么如果因为外界因素而影响游戏的进行,显然是不合理的.开发者变根据这一需求,未游戏增设了暂停功能.接下来我们来学习在Genesis-3D中实现暂停功能的方法. 原理: 如图3-1所示. 图3-1 实现方法: 步骤1: 被动暂停.指在游戏进行时,遇到低电警告.电话.短信等不可预知的因素,手机等设备切换应用的情况.开发者需要ScriptRoot.…
下面我们一起用pygame编写一个打字测速游戏 这是一个很实用的有趣的小游戏: 开始之前先来学习几个小函数: 1. ord(ch) python内置函数,传入一个字符,返回字符的ascii码 2.chr(num) python内置函数,传入一个十进制或十六进制,返回ascii码对应的字符 3.os.path.getsize(filename) 传入文件路径,返回文件大小,返回0为空文件 4.pygame.key.get_pressed() 返回一个记录按键事件的字典,字典中的键为按键类型,字典中…
(此题与POJ2777重题) 为了加深对线段树的记忆,然后开始搞这道题. TM的WA了一下午就是发现x可能大于y(然而题目里说的还很清楚,我TM没看见) 这道题只需要在线段树的板子上改一些地方就可以了: 1.存储时不是存储颜色,而是将它状压成一个整数(如序号为3的颜色存为1<<3=8) 2.回溯时不是取和相加,而是直接按位或(|),原理等下讲 3.最后的查询完毕的值统计一下二进制下有多少个1就是ans 最后讲一下为什么要| 假如3种颜色 2,3,3,在树上记为4,8,8,它们对应的二进制就是(…