ztz11的noip模拟赛T1:愤怒的XiaoX】的更多相关文章

链接: https://www.luogu.org/problemnew/show/U47231 思路: 这道题其实就是一道双Lazy线段树裸题 因为我们知道,当k一定时,取反偶数次最后k位等于不取反 同理,当k一定时,翻转偶数次最后k位等于不取反 我们使用双Lazy分别存下这两个东西 同时一直对2取模 同时我们使用标记永久化 向下传参Lazy 单点查询到这个点时,判断是否需要取反即可 取反和翻转是位运算基本知识 大家可以看代码 代码: #include<iostream> #include&…
排序 3.1 题意描述 众所周知,熟练掌握至少一种排序算法是参加NOIP的必备技能.常见的排序算法有冒泡 排序.归并排序.快速排序.奇偶排序.猴子排序.梳排序.鸡尾酒排序.臭皮匠排序等. 在这里,介绍一种利用栈进行排序的方法.例如,当数组中的元素为 1,3,2 时,我们可 以利用栈对其进行排序:1 入栈:3 入栈:3 出栈:2 入栈:2 出栈:1 出栈.在这个例子中, 出栈序列是 3,2,1,因而实现了对数组的排序. 遗憾的是,在不打乱入栈顺序的前提下,有时仅仅借助一个栈是不能实现对数组的完全排…
代码: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define rii register int i #define rij register int j #define int long long using namespace std; int n1,m1,p,nl[100005],t; int pf[10]={0,1,10,15,25,40,55…
打表+暴搜 这道题目,显然是需要打表的,不过打表的方式可以有很多. 我是打了两个表,分别表示每个数字所需的火柴棒根数以及从一个数字到另一个数字,除了需要去除或加入的火柴棒外,至少需要几根火柴棒. 然后我们就可以暴搜了,大体就是枚举等式左边两个数每一位的值,并枚举中间的运算符是\(+\)还是\(-\),然后计算出等式右边的值,判断是否合法. 中间过程可以加上一些剪枝. 注意当火柴棒从某一位移到另一位时,我们可以规定,去除火柴棒需要算步数,加入火柴棒则无需算步数,这样就可以避免重复了. 具体实现有一…
几个性质 我们通过推式子可以发现: \[B⇒AC⇒AAB⇒AAAC⇒C\] \[C⇒AB⇒AAC⇒AAAB⇒B\] 也就是说: 性质一: \(B,C\)可以相互转换. 则我们再次推式子可以发现: \[B⇒AC⇒AB\] 也就是说: 性质二: 在\(B\)或\(C\)之前可以任意加或减少若干个\(A\). 同样,我们可以发现: \[A⇒BC⇒BB\] 也就是说: 性质三: 在\(B\)或\(C\)之前可以任意加偶数个\(B\)或\(C\). 有了这些性质,你以为就做完了吗? 闪指导\(hl666\…
旅行者问题 [问题描述] lahub是一个旅行者的粉丝,他想成为一个真正的旅行者,所以他计划开始一段旅行.lahub想去参观n个目的地(都在一条直道上).lahub在起点开始他的旅行.第i个目的地和起点的距离为ai千米(ai为非负整数).不存在两个目的地和起点的距离相同. 从第i个目的地走到第j个目的地所走的路程为 |ai-aj|千米.我们把参观n个目的地的顺序称作一次“旅行”.lahub可以参观他想要参观的任意顺序,但是每个目的地有且只能被参观一次(参观顺序为n的排列). lahub把所有可能…
Task 1.纸盒子 (box.pas/box.c/box.cpp) [题目描述] Mcx是一个有轻度洁癖的小朋友.有一天,当他沉溺于数学卷子难以自拔的时候,恍惚间想起在自己当初学习概率的时候准备的一堆橡皮还杂乱地堆在自习室里.这显然是他无法容忍的.于是他决定做一个体积为V(V=abc)的纸盒子,以便能整齐的摆放它们.为了简单起见,这个纸盒子的长.宽.高均为正整数.当然了,Mcx是一个以勤俭闻名的小朋友,因此他想知道,这个纸盒子的表面积(S=2ab+2ac+2bc)的最小值是多少呢? [题目输入…
第1题  小麦亩产一千八 [问题描述] “有了金坷垃,肥料一袋能顶两袋撒,小麦亩产一千八,吸收两米下的氮磷钾……”,话说HYSBZ(Hengyang School for Boys & Zy)学识渊博孩纸们一讲到粮食,都会想起印度那个著名的故事:国王要在第一个格子里放入一粒小麦,接下来的格子放入前面一个格子的两倍的小麦.这样所需小麦总数是巨大的,哪是不用金坷垃就能完成的任务?不过为了减轻国王的任务,那个下棋获胜的宰相换了一个要求:“我只需要你在棋盘外放一粒小麦,可以将其理解为第0个格子,然后你需…
LGTB 玩扫雷 在一个n m 的棋盘上,有位置上有雷(用“*” 表示),其他位置是空地(用“.” 表示).LGTB 想在每个空地上写下它周围8 个方向相邻的格子中有几个雷.请帮助他输出写了之后的棋盘 输入 第一行包含两个整数n, m 代表棋盘大小接下来n 行,每行m 个字符,代表棋盘1 n,m 1000 输出 输出包含n 行,每行m 个字符,代表LGTB 写了数字之后的棋盘 样例 样例输入3 3*.*...*.* 样例输出*2*242*2* 解题报告: 拿到这道题,有两种解法,第一种是枚举每一…
链接: https://www.luogu.org/problemnew/show/U46611 思路: 这道题告你n-1条边就是骗你的 部分分也是骗你的 这道题连对边5分钟的事 一个点对另一个点有影响当且仅当这个点在另一个点的前一时刻被查 且这两个点之间有边相连 我们加上超级根节点后可以建一棵树 跑树形DP即可 代码: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm…