首页 > TAG信息列表 > jzoj

JZOJ 2022.02.10【提高组】模拟总结

$\text{简要题解}$ $\text{GDOI2012}$ 的题 不得不说当年的题做起来真的很不爽 整体看起来就是数据结构+博弈论+宽搜+背包dp优化 考场上 $T1$ 十分钟解决过了 看完题就知道多开点线段树或树状数组维护原序列和同颜色序列就行了 线段树的话可以线段树上二分做到一只 $\log$ 树状数

JZOJ 3745. 【NOI2014模拟7.14】Problem A

\(\text{Problem}\) 我们有一个树,大小为 \(n\)。 考虑树上的一条路径,如果一个边的两个点都在这路径上,我们称这个边属于这个路径,如果一个边有且只有一个点在这路径上,我们称这个边与这个路径相邻。 现在每个边要么是黑色的要么是白色的,一开始所有边都是白色的。 我们有 \(3\) 个操作

JZOJ 3167.查税

\(\text{Solution}\) 记 \(k\) 这个办公室相关属性有 \(t,z,s\) 对于以后的某一天 \(T\),其账户余额为 \((T-t)z+s\) 要最大化这东西,不妨另 \(b=(T-t)z+s\) 则等价于 \(tz-s=Tz-b\),要最大化 \(-b\) 即最小化 \(b\) 把 \((z,tz-s)\) 视为坐标系一点,用斜率为 \(T\) 的直线过点,最小化

Jzoj scanf 部分代码(共3题)

1185: 【入门】简单a+b   #include <bits/stdc++.h> using namespace std; int a, b; int main() { scanf("%d+%d=", &a, &b); printf("%d", a+b); return 0; } 1184: 【入门】简单a*b #include <bits/stdc++.h> using namespace s

Jzoj if语句 部分代码(共20题)

1012: 【入门】两数比大小 #include <bits/stdc++.h> using namespace std; int a, b; int main() { scanf("%d %d", &a, &b); if(a>=b){ printf("%d", a); } else{ printf("%d", b); } return 0; } 1010: 【入门】判断奇偶数 #incl

JZOJ 部分有关进制题目 (2)

1080-- 【基础】 挑战赛第三题——二进制中的1 传送门http://www.jzoj.cn/problem.php?id=1080 题目描述 给定一个正整数N,请找出N转化为二进制后,其中所有1的位置。二进制的最低位(最右侧)为第0位。 输入 输入中包含一个正整数N ( 1 <= N <= 1000000) 输出 输出N转换为二进制后,所有1

JZOJ 部分有关进制题目

好久不写了(真的不是懒马 1047:【入门】正整数N转换成一个二进制数 传送门http://www.jzoj.cn/problem.php?id=1047 懒得放题目  本题我们可以采用小学就学过的除二取余法  将十进制数除以二,得到的商继续除以二,直至商为0或1时为止,然后在旁边标出各步的余数,最后倒过来数 #includ

JZOJ 4250.路径

\(\text{Solution}\) \(30\) 分暴搜合法路径 另 \(30\) 分状压 设 \(f_{i,j,k}\) 表示当前到第 \(i\) 个点,走过的点状态为 \(j\),走过的路径长度为 \(k\) 的方案数 \(100\) 分仍然回到暴搜 考虑折半搜索,把路径拼起来,先搜一次,哈希表记下 \(f_{i,j,k}\),再搜一次,因为是无向图,可以都从

【缩点 动态规划】JZOJ_4253. 【五校联考7day2】QYQ在艾泽拉斯

题意 给出一个图,上面有若干连通块。 对于每个连通块,为有向边组成的图,每个点上有点权。 最多在\(K+1\)个连通块操作,使得遍历这个连通块获得的点权之和最大。 思路 将每个连通块上的环缩点,变成一个DAG然后dp即可。 代码 #include <queue> #include <stack> #include <cstdio> #inclu

JZOJ 1184:【入门】简单a*b

链接 1184--【入门】简单a*b (jzoj.cn) 题目 1184: 【入门】简单a*b 时间限制: 1.000 Sec  内存限制: 16 MB 提交: 17615  解决: 4347 题目描述 按照a*b=的格式输入算式,通过计算输出a*b的结果。 输入 输入中包括一个表达式,如:a*b= a和b都是int类型的正整数。 输出 结果只有

【jzoj 4605】【luogu P2824】排序(二分)(线段树)

排序(线段树合并与分裂板题) 题目链接:jzoj 4605 / luogu P2824 题目大意 给你一个全排列,然后每次操作会将数列中的某个区间按升序或降序排序。 然后问你最后第 i 个位置上的数是什么。 思路 我们考虑二分,二分这个答案,然后大于等于它的是 1

JZOJ 3304. Theresa与数据结构

\(\text{Problem}\) 标准四维偏序 带修改(加和删除)和询问的三维空间正方体内部(包括边上)的点的数目 \(\text{Analysis}\) 打法很多,\(\text{cdq}\) 套 \(\text{cdq}\) 加上树状数组处理或者 \(\text{cdq}\) 套树套树(如树状数组套线段树)等方法都可以 \(\text{K-D tree}\) 的 \(O(n^{1.

JZOJ 3889

\(\text{Problem}\) 小H是个善于思考的学生,她正在思考一个有关序列的问题。 她的面前浮现出了一个长度为 \(n\) 的序列 \({ai}\),她想找出两个非空的集合 \(S、T\)。 这两个集合要满足以下的条件: 两个集合中的元素都为整数,且都在 \([1, n]\) 里,即 \(Si,Ti ∈ [1, n]\)。 对于集合 \(

JZOJ 5174

\(\text{Problem}\) 给你一张 \(n\) 个结点,\(m\) 条边的无向图,每个结点都有一个整数权值。你需要执行一系列操作。操作分为三种,如下表所示。 操作 备注 \(\text{D x (1<=x<=m)}\) 删除编号为x的边。输入保证每条边至多被删除一次。 \(\text{Q x k (1<=x<=n)}\) 计算出结点x所在的

【JZOJ】1005:【入门】输入一个三位数,把个位和百位对调后输出

链接 题目描述 输入一个三位自然数,然后把这个数的百位数与个位数对调,输出对调后的数 输入 输入一行,只有一个整数x(100<=x<=999)。 输出 输出只有一行,包括1个整数。 样例 输入 123 输出 321 其实这道题说是“百位数与个位数对调”,其实就是三位数倒序,这与1004很像,都是拆数,都

JZOJ 5460. 士兵训练

题目 \(1\le n,q \le 2\cdot {10}^5,0\le b_i,l_i \le {10}^9,b_i \ge 1,1 \le S_i \le n\) \(Solution\) 这题很好想 总之要维护子树内 \(b\) 值的严格最大(包括数量),次大,次次大,\(l\) 值的严格最大,次大 然后分类讨论,注意相等的情况,接下来就是码的事了 注意要打人工栈!! \(Code\) #include

JZOJ 5382. 数列

题目大意 给出数列 \(\text a\),询问区间 \([l,r]\) 内,满足 \(l\le i \le j\le r\) 的 \(i,j\) 使 \(a_i xor a_{i+1} xor...xor a_j\) 值最大,求这个最值 题解 这题比较新鲜,知道了一些从未知道的套路 先考虑 \(O(n^2 \log V)\) 的做法 显然对于询问 \([l,r]\) 扫一遍,用 \(Trie\) 经

JZOJ 5451.Genocide

题目 题解 对于 \(m=1\) 这档分 我们可以 \(dp\) 然后斜率优化 具体来说就是 \(f_i = f_j + \frac{(i-j)\times (i-j+1)}{2} + sum[j]-sum[i]\) 很容易斜率优化 那么 \(m=3\times 10^5\) 时 考虑 \(cdq\) 分治 考虑 \(dp\) 出一个如上定义的前缀 \(f\) 和同理的后缀 \(g\) 设 \(h

2020.10.07【NOIP提高A组】模拟 JZOJ

  6817. 【2020.10.07提高组模拟】DNA 序列 题目大意是给你一个长度 n<=5*10^6 的字符串,还有一个k<=10;字符串是由ACTG组成的,让你求这个字符串中所有连续k个字符组成的子串中,出现最多的一种的次数; 正解:由于k<=10;且只由4种元素组成所以,随便你怎么暴力都行,我这里用的是Trie #inc

jzoj 6797. 【2014广州市选day2】hanoi

Description 你对经典的hanoi塔问题一定已经很熟悉了。有三根柱子,n个大小不一的圆盘,要求大盘不能压在小盘上,初始时n个圆盘都在第一根柱子上,最少要多少步才能挪到最后一根柱子上? 现在我们来将hanoi塔扩展一下,由三根柱子扩展到四根柱子,其余规则不变。例如,3个圆盘,四根柱子A到D,初始时

#分治#JZOJ 4211 送你一颗圣诞树

题目 有\(m+1\)棵树分别为\(T_{0\sim m}\),一开始只有\(T_0\)有一个点,编号为0。 对于每棵树\(T_i\)由T_{a_i}\(的第\)c_i\(个点与\)T_{b_i}\(的第\)d_i\(个点连接后形成。 其中边\)(c_i,d_i)\(的权值为\)l_i\(,若\)T_{a_i}\(有\)s\(个节点,那么原\)T_{b_i}\(部分的编号都要加上\)s$

JZOJ 5067. 【GDOI2017第二轮模拟day2】有理有据题 (KD-tree+历史最值问题)

https://gmoj.net/senior/#main/show/5067 题解: 考虑\([l,r]∩[x,y] \ne ∅\)的充要条件是\(max(l,x)\le min(r,y)\) 即\(l \le y且 x \le r\) 那么每次相当于修改矩形内的点。 套上一个K-D tree,问题变成了: 区间加 区间赋值 询问单点历史最大值 这个可以直接lazytag搞定,通过思考

JZOJ 3234. 阴阳

阴阳 题面 分析 个人认为是极好的题,很容易写 如果你学点分治是无奈背板的,那就做做这道题,加深你对点分治的理解 一般的,处理树上大规模统计问题,我们分治的关键是找一棵子树的重心 找到分治中心,即新一轮的根节点,然后处理子树节点经过根节点时的答案,接着对子树继续分治下去 那么我们

JZOJ 4276【NOIP2015模拟10.28A组】递推

【NOIP2015模拟10.28A组】递推 思路一 对于 \(30%\) 的数据,由于 \(n\) 和 \(x_i\) 都比较小,所以依题暴力枚举每个整点的坐标算贡献即可 思路二 对于额外 \(20%\) 的数据,发现 \(n=1\) 且有数列 \(F\) 为斐波那契数列,于是就变成求 \(\sum_{i=0}^{x_0 - 1}Fib_i\) 于是我们可以矩阵

JZOJ 6678. 【2020.05.01省选模拟】苏菲的世界 (simpson积分+几何法求多个圆的并的面积)

Description: 题解: simpson积分,据说是用二次函数拟合,拟合圆这类图形有奇效。 即\(g(x,y)=\int_x^y f(x)~dx≈(y-x)/6*(f(x)+4f((x+y)/2)+f(y))\) 自适应的话就是一直分治,直到\(|g(a,b)-g(a,(a+b)/2)-g((a+b)/2,b)|<eps\)即可。 用simpson积分可以搞掉三维空间的一维。 变成二维多