首页 > TAG信息列表 > 花神
花神泪
编写时间 2019-07-08 16:31:50 青山峦叠翠 一江愁水 生生世世妩媚 落花憔悴 竹林已觅尽 盏茶一杯 盼与你共婵娟 御剑而飞 望 不清月 许多情燃成灰 一缕青丝解不开 难辩错对 唱 不尽歌 那恩怨如玉碎 刀光血影 宁愿追随 如果花落了 泪干了 才知道后悔 如果恨过上帝造题的七分钟2 / 花神游历各国
题目 自己上网搜 题解 发现每个数开方次数不超过六次 所以我们对于修改可以暴力更改(因为不能打标记) 查询仍然用上某种数据结构 但修改太暴力了 每个数开方到了小于等于 \(1\) 时 我们就不需要再更改它了(无意义) 为了高效地修改,我们要用某种方法快速过掉一堆不需要修改的数 没错,并查[P4145] 花神游历各国 - 线段树
Description 维护序列,支持区间开方下取整,区间求和。 Solution 对线段树上的每个 Node 记录最大值 \(mx\) 修改操作时,若当前结点 \(mx=1\) 则不用继续修改 (代码里有很多冗余的东西请手动忽略) #include <bits/stdc++.h> using namespace std; #define int long long #define lc p*luoguP4317 花神的数论题 数位dp
这道题细节并不算太多,但是求方案数的时候一定不要乱取模! 如果非要取模的话也要遵循欧拉定理. code: #include <bits/stdc++.h> #define N 57 #define ll long long #define mod 10000007 #define setIO(s) freopen(s".in","r",stdin) using namespace std; ll fBZOJ 3210: 花神的浇花集会
BZOJ 3210: 花神的浇花集会 在花老师的指导下,每周4都有一个集会活动,俗称“浇水”活动。 具体浇水活动详情请见BZOJ3153 但这不是重点 花神出了好多题,每道题都有两个参考系数:代码难度和算法难度 花神为了准备浇花集会的题,必须找一道尽量适合所有人的题 现在花神知道每个人的代码能luogu_4317: 花神的数论题
花神的数论题 题意描述: 设\(sum(i)\)表示\(i\)的二进制数中\(1\)的个数。 给定一个整数\(N\),求\(\prod_{i=1}^Nsum(i)\)。 输入描述: 输入包含一个正整数\(N(N\leq10^{15})\)。 输出描述: 一个数,答案模\(10000007\)的值。 解题思路: 数位\(dp\)+快速幂。 令\(f(i,j,k)\)表示上帝造题的七分钟2 / 花神游历各国
题目描述 "第一分钟,X说,要有数列,于是便给定了一个正整数数列。 第二分钟,L说,要能修改,于是便有了对一段数中每个数都开平方(下取整)的操作。 第三分钟,k说,要能查询,于是便有了求一段数的和的操作。 第四分钟,彩虹喵说,要是noip难度,于是便有了数据范围。 第五分钟,诗人说,要有韵律,于是便有P4317 花神的数论题
传送门 考虑把 $sum$ 值相同的一起用快速幂计算 枚举 $sum=i$ ,然后可以用数位 $dp$ 求有多少小于 $n$ 的二进制下恰好有 $i$ 个 $1$ 的数的个数 注意不要把个数取模,因为个数是幂次 #include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>usingbzoj3209: 花神的数论题(数位DP)
题目: 3209: 花神的数论题 解析: 二进制的数位DP 因为\([1,n]\)中每一个数对应的二进制数是唯一的,我们枚举\(1\)的个数\(k\),计算有多少个数的二进制中有\(k\)个\(1\) 设\(n\)的二进制一共有\(num\)位,有\(sum[i]\)个数的二进制中有\(k\)个\(1\), 答案就是\(\prod_{i=1}^{num}i^{sum[i]线段树+由%加快(CF438D The Child and Sequence
https://www.luogu.org/problem/CF438D 题意 给定数列,区间查询和,区间取模,单点修改。 n,m小于10^5 分析 和花神那题一样,i%k运算可以考虑, i < k时, i不变,所以我们可以维护区间最大值,在给区间[l,r]中的每个元素%k的时候,只要max < k, 就直接return, 由此提速 (提醒: 千万不要用前一题(指花神)#10128. 「一本通 4.3 练习 2」花神游历各国
#10128. 「一本通 4.3 练习 2」花神游历各国(题目链接) 大意:区间开根号,询问区间和 laz 标记区间是否全为 0,1 扩展 % 运算是最坏为 n/2的 #include <bits/stdc++.h> using namespace std; const int maxn = 1e5+500; #define ll long long #define ls rt<<1,l,mid #define rsLOJ10128. 花神游历各国
花神喜欢步行游历各国,顺便虐爆各地竞赛。花神有一条游览路线,它是线型的,也就是说,所有游历国家呈一条线的形状排列,花神对每个国家都有一个喜欢程度(当然花神并不一定喜欢所有国家)。 每一次旅行中,花神会选择一条旅游路线,它在那一串国家中是连续的一段,这次旅行带来的开心值是这些国