P3184 [USACO16DEC]Counting Haybales数草垛 题目描述 Farmer John has just arranged his NN haybales (1 \leq N \leq 100,0001≤N≤100,000 ) at various points along the one-dimensional road running across his farm. To make sure they are spaced out appropriately, pl…
传送门 BZOJ 然而是权限题 洛谷 Solution 发现题目给出的一些规律,emm,如果我们新凑出来的一个数,那么后面一个数一定是\(sum+1\). 于是就可以主席树随便维护了! 代码实现 #include<bits/stdc++.h> using namespace std; inline int gi(){int x;scanf("%d",&x);return x;} const int N=100010; int rt[N],tot; int n,a[N…
不用快速幂,压位出奇迹! 本人是个蒟蒻,不太熟悉快速幂,这里给大家介绍一种压位大法. 让我们来分析一下题目,第一位是送分的,有一个专门求位数的函数:n*log10(2)+1. 然后题目中p<=3100000,又要求后500位,普通算法肯定超时,但如果我们多压几位甚至时间都比普通快速幂少.而且我们用 long long 的话可以一次就乘上2的20次方又能节省时间: 第一问: s=n*log10(2)+1;用函数算位数 cout<<s<<endl; 第二问:算后500位: whi…
P3405 [USACO16DEC]Cities and States省市 题目描述 To keep his cows intellectually stimulated, Farmer John has placed a large map of the USA on the wall of his barn. Since the cows spend many hours in the barn staring at this map, they start to notice severa…
P1715 [USACO16DEC]Lots of Triangles好多三角形 题目描述 农民约翰希望通过卖出他拥有的一部分土地来增加收入.他在这片土地上种了\(N\)棵树(\(3\le N\le 300\)),每棵树都可以用一个二维网格图上的一个坐标来表示,没有三棵树是共线的.约翰想以3棵树做顶点围成三角形来分割地,以确定地的大小和形状,基于约翰所有树可能组成的三树组合,当然有\(L=\binom{N}{3}\)种可能考虑分割贩卖的土地切块. 一块分出的三角形土地有价值\(v\),\(v\)…
原题请戳>>https://www.luogu.org/problem/show?pid=1679<< 题目描述 在你的帮助下,v神终于帮同学找到了最合适的大学,接下来就要通知同学了.在班级里负责联络网的是dm同学,于是v神便找到了dm同学,可dm同学正在忙于研究一道有趣的数学题,为了请dm出山,v神只好请你帮忙解决这道题了. 题目描述:将一个整数m分解为n个四次方数的和的形式,要求n最小.例如,m=706,706=5^4+3^4,则n=2. 输入输出格式 输入格式: 一行,一个整…
这题其实并不难,重点在你对回文数的了解,根本就不需要高精度. 打个比方: 对于一个形如 ABCDEFGH 的整数 有且仅有一个比它大的最小回文数 有且仅有一个比它小的最大回文数 而整数 ABCDDCBA 一定是其中之一 ~ 如:99299是比99200大的最小回文数 10101 是比 10201 小的最大回文数 所以可以得出结论: ~ 输入一个整数 ABCD ,若整数ABBA 比 ABCD 大,则 ABBA 就是比它大的最小回文数,然后就可以直接输出这个答案了. ~ 而如果 ABBA 比 ABC…
题目描述 windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道, 在A和B之间,包括A和B,总共有多少个windy数? 输入输出格式 输入格式: 包含两个整数,A B. 输出格式: 一个整数 数位DP,记录每一位最后一位是什么,枚举时如果他们的差小于2就return. 但是注意!如果有前导零,也就是00014是一个合法的序列,但是一般会判断1和0差小于2,就算非法了. 我们需要记录前导零,如果当前是前导零,则默认当前位位-10000…
https://www.luogu.org/problem/show?pid=1005   dp好想,高精度练手题,有点不舒服的是前后取数位置的计算,代码量太少才会写题这么慢,noip之前虽然重点放在知识点补全上但是基础还是要打扎实. 代码 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<cmath> #include<qu…
有趣的数 题目链接 首先求出1~k中有多少个在k前面的数的个数,若>m,则无解 比如12345,从第一位开始, 1 0~1 共2个 1-0+1 12  10~12共3个    12-10+1 123   100~123 共24个  123-100+1 1234 1000~1234 共235个 1234-1000+1 ... 之后看还需要在k前面加多少个数,向下枚举 与上面相似 123450  100000~123450 1234500 1000000~1234500 直到前面的数字>=k,停止…