[题解]Kathy函数 [BZOJ1223] [P2235] [HNOI2002] 这几疯狂刷了数位\(dp\)的题,到这道题时被卡了一天,一看大佬的讲解发现居然是求回文数╮(╯_╰)╭ 感觉被大佬狠狠地蹂蹑了一番... 废话到此结束,进入正题: 满足\(f(n)=n\)的\(n\)在二进制的形式下一定是一个回文数 例如: \(f(1)=1\) (\(1\)) \(f(3)=3\) (\(11\)) \(f(5)=5\) (\(101\)) \(f(7)=7\) (\(111\)) 至于为什么会…
1223: [HNOI2002]Kathy函数 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 207  Solved: 90[Submit][Status] Description Input 仅有一行,为正整数m Output 输出仅有一个正整数,表示所有的满足f(n)=n,(n<=m) 的自然数的个数. Sample Input 5 Sample Output 3 这道题的高精度模板相对又有完善,但还存在bugs,使用时尽量讲位数多开几倍.…
首先由题解可得TAT,f(i)=i当且仅当i在二进制下为回文串. 那么问题就变成了1~n中有多少个二进制下的回文串. 把m转成2进制后就是正常的统计了= =. f[i]表示二进制下,有多少个i位的回文串(包括前导0).f[1]=f[2]=2,f[i]=f[i-2]*2.....也就是f[i]=2^((i+1)/2) #include<cstdio> #include<iostream> #include<cstring> #include<algorithm>…
传送门 题解 // luogu-judger-enable-o2 //minamoto #include<cstdio> #include<cstring> using namespace std; ; char s[N];int n; template<:;} struct node{ int s[N]; void clear(){ memset(s,,sizeof(s)); } void operator =(int val){ clear(); while(val){…
数位 DP 套路题,求二进制下区间内回文串个数. 设 dp[][][] 表示到第几位时,是否为回文数,去掉前导零后共几位.之后到边界时判断是否为回文数计入贡献. 一开始不知道答案统计要高精,于是后来就自闭了. #include <cmath> #include <queue> #include <cstdio> #include <cctype> #include <cstring> #include <iostream> #incl…
正解:数位$dp$ 解题报告: 传送门$qwq$ $HNOI$的题从02年就这么神了嘛$QAQ$,,, 嗷对了这题如果看出了一个结论就是个数位$dp$板子,,,?但是结论很神我$jio$得挺难看出来的_(:з」∠)_ 先港结论,,,,$f_{i}$等于$i$的二进制下翻转之后的值,即$f((\overline{a_{1}a_{2}a_{3}a_{4}a_{5}})_2)=(\overline{a_{5}a_{4}a_{3}a_{2}a_{1}})_2$,,,这谁想得到啊$TT$ 下试证$QwQ$…
题面 Description 有n个函数,分别为F1,F2,...,Fn.定义 Fi(x)=Aix2+Bix+Ci(x∈N∗)Fi(x)=Aix2+Bix+Ci(x∈N∗) .给定这些Ai.Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复的要输出多个). Input 第一行输入两个正整数n和m,n<=500000, m<=500000 以下n行每行三个正整数,其中第i行的三个数分别为Ai.Bi和Ci.输入数据保证Ai<=10,Bi<=100,Ci<=10000.…
本文将同步发布于: 洛谷博客: csdn: 博客园: 简书. 题目 题目链接:gym102331H. 题意概述 给定一个长度为 \(n\) 的序列 \(a\),有 \(q\) 次询问,每次询问给定三个参数 \(l,r,k\),求出对于区间 \([l,r]\),你将其划分为若干个子区间,然后取其中的 \(k\) 个,最大化取出来的所有元素的和.即:最大 \(k\) 子段和. \(1\leq n,q\leq 3.5\times 10^4\),\(|a_i|\leq 3.5\times 10^4\).…
赛前任务 tags:任务清单 前言 现在xzy太弱了,而且他最近越来越弱了,天天被爆踩,天天被爆踩 题单不会在作业部落发布,所以可(yi)能(ding)会不及时更新 省选前的练习莫名其妙地成为了Noip前的杂题训练,我也很无奈啊 做完了的扔最后,欢迎好题推荐 这么多题肯定是完不成了,能多做一道是一道吧 DP yyb真是强得不要不要的辣:http://www.cnblogs.com/cjyyb/category/1036536.html [ ] [SDOI2010]地精部落 https://www…
数位DP学习笔记 什么是数位DP? 数位DP比较经典的题目是在数字Li和Ri之间求有多少个满足X性质的数,显然对于所有的题目都可以这样得到一些暴力的分数 我们称之为朴素算法: for(int i=l_i;i<=r_i;i++) if(check(i)) ans++; return ans; 所有的算法都是为了减少运算步骤这一个基本原理来优化的,我们考虑这样暴力的优化,显然数的位数上面满足X性质,有些时候X性质并不是单单对于一个数的个体进行限制的 而是在某个限定区域里面的所有数字有一个X的限制,这…