题目:传送门.(需要下载PDF) 题意:t组数据,每组数据给定一个数ni(1 ≤ ni ≤ 10^18),把ni拆成尽可能多的数,要求每个数的素因子只包含2和3,且这些数不能被彼此整除,输出一共能拆成多少个数,并输出这些数. 题解:根据题意ni = 2^a0*3^b0*+2^a1*3^b1+........+2^ax*3^bx,所以我们按照ai升序,bi降序的顺序求出每一个加数,这样会保证这些数不能被彼此整除.首先打表得知3^40会超过long long,3^39不会,先打出3^39的表存到数组…
题意:给定一个N,让你把它拆成若干个只含素因子2和3的数之和,且两两之间没有倍数关系,比如10=4+6. 思路:即是2因子的幂递增,3因子的幂递减:或者反之. 对于当前N,我们拆分出的数为num=2^x*3^y:满足2^x|N,而且y最大,然后把继续拆分N-num.不难推出,N-num是个偶数,且至少含有x+1个2之积,那么N-num的2的幂一定>x:而3的幂一定<y.      用公式不难验证:N=2^x(3^y+2*....); num=前面部分,N-num=后面部分,2因子至少多出来一个…
http://codeforces.com/gym/100801/attachments 题意:给出一个数n(1 <= n <= 1e18),将 n 拆成 m 个整数,其中 m 必须是 2^x * 3^y 的形式,并且 x 和 y 不能被彼此整除, 输出 m 并将这些整数输出. 思路:Inspired by http://blog.csdn.net/snowy_smile/article/details/49852091 . 第一步:因为要求的 m 是 2^x * 3^y 的形式,所以如果 n…
Problem D"Decoding Task" Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100002 Description In the near future any research and publications about cryptography are outlawed throughout the world on the grounds of national se…
Irrational Roots http://acm.hust.edu.cn/vjudge/contest/view.action?cid=101594#problem/F [题意]: 判断一个整系数高阶方程的无理根的个数. [解题思路]: 定理:如果方程f(x)=0的系数都是整数,那么方程有理根仅能是这样的分数p/q,其分子p是方程常数项的约数,分母q是方程最高次项的约数. 这里最高次系数为1,那么有理根就一定为整数. 题目给定了根的范围,枚举整数判断是为根即可. 重根判断:求导直到导数不为…
题意:有A,B,C三个人要见面,每个人在[0,S]随机选择一个时间点作为见面时间,先到的那个人要等下一个人来了之后和他确认信息,然后马上就走. 例如,假如A先到,B其次,C最后到,那么A要等B到了之后和B确认完信息,然后A走,B再等C到了和C确认完信息,这样任务就完成了. 现给出A,B,C三人的最长等待时间wa,wb,wc,求任务能完成的概率. 题意等价于给出三条长度分别为wa,wb,wc且左端点在[0,S]内随机取值的线段,求第一条线段与第二条线段相交且第二条线段与第三条线段相交的概率. 假如…
题意:n个传送带,传送带i运送编号为i的物品,机器人可以负责把传送带i上的物品放到传送带i + 1上,也可以把传送带i + 1上的物品放到传送带i上,机器人分布在传送带上x轴的不同位置,问每个传送带最多能传送多少物品. 分析: 1.将机器人按x轴排序. 2.对于每个传送带,记录它能传送的最小的传送带编号和能传送的最大的传送带编号即可. #include<cstdio> #include<cstring> #include<cstdlib> #include<cct…
2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest D Problem D. Distribution in Metagonia Input file: distribution.in Output file: distribution.out Time limit: 2 seconds Memory limit: 256 megabytes There are one hundred noble families in the cou…
2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest 2019年10月11日 15:35-20:35(Solved 8,Penalty 675) 这两天好像回寝室太早了,导致早早地就躺在床上吸引蚊子.到睡觉的点的时候,蚊子们就已经嗷嗷待哺地聚集到了我的床边.凌晨2:00~4:00的时候被烦得,只能下床喷个六神+开个空调QwQ.早上起不来导致很多东西都咕咕咕了(比如今日中午的市中心觅食计划). 以后不出意外的话,我们队应该每周三&周六的这个…
$$2015-2016\ ACM-ICPC,\ NEERC,\ Northern\ Subregional\ Contest$$ \(A.Alex\ Origami\ Squares\) 签到 //#pragma comment(linker, "/STACK:1024000000,1024000000") #include<bits/stdc++.h> using namespace std; int main(){ int a,b; freopen("alex…
A - Luggage DistributionTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=87493#problem/A Description All provident tourists know about low-cost airlines. Those who used them at least once also know th…
BUPT2017 wintertraining(15) #4G Gym - 101124 E.Dance Party 题意 有c种颜色,每个颜色最多分配给两个人,有M个男士,F个女士,求至少一对男士同色的概率. \((1 \le C, M, F \le 10^9; M + F \le 2C)\) 题解 反面比较好求的,也就是不存在男男同色的概率. 假设每个男士依次选择剩下的颜色,第一个人有2C种选择,当前不同色的概率是1,第二个人有2C-1种选择,当前不同色的概率是(2C-2)/(2C-1),第…
题目链接: http://codeforces.com/gym/101194/attachments https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5923 题意: 现有 $N$ 支队伍参加比赛,只有一个队伍能获胜.给出每个队伍一个赔率 $A_i:B_i$,你往这个队投 $x$ 元,若该队获胜你可得到 $\frac{A_i+…
BUPT2017 wintertraining(15) #4F Gym - 101124A 题意 给定画框宽度,画的四边和一个对角线长度,求画框外沿周长. 题解 过顶点做画框的垂线,每个角都得到两个全等直角三角形.然后用余弦公式求得四个角,再在直角三角形中计算出比内沿多出来的长度,加上画的四边长度即可. 代码 #include <cstdio> #include <cstring> #include <algorithm> #include <cmath>…
BUPT2017 wintertraining(15) #4 C Gym - 101138F 题意 初始高度0,目标值h,第i天目标值会下降i,当前高度会改变a[i%n],求高度不小于目标值的最早的时间. 题解 假设最早时间是bn+k天,那么 \(h-(bn+k) (bn+k+1)/2 \le bs[n]+s[k]\) 化成关于b的一元二次不等式,求根公式可以求得最小的整数解. 但是要用long double,否则会WA. 代码 #include <cstdio> #include <c…
按照回文子串的奇偶分类讨论,分别计算其对答案的贡献,然后奇偶分别进行求和. 推导出来,化简一下……发现奇数也好,偶数也好,都可以拆成一个等比数列求和,以及一个可以错位相减的数列求和. 然后用高中数学知识搞一下就行了. #include<cstdio> #include<iostream> using namespace std; typedef long long ll; int N; double K; double Quick_Pow(double x,int p){ if(!…
Garage 题目连接: http://codeforces.com/gym/100269/attachments Description Wow! What a lucky day! Your company has just won a social contract for building a garage complex. Almost all formalities are done: contract payment is already transferred to your a…
Quite often the jury of Saratov SU use the problem "Masquerade" in different practice sessions before the contest. This problem is quite easy — all you need is to print the product of two integers which were read from the input stream. As usual,…
题意:给你两个数列a,b,你要输出k个下标,使得这些下标对应的a的和大于整个a数列的和的1/2.同时这些下标对应的b //题解:首先将条件换一种说法,就是要取floor(n/2)+1个数使得这些数大于剩下的数.然后想到两种取法,一种是排好序选前半段.令一种取法是两个两个分组,每组取大的那个.//然后就可以(很困难地)想到一种巧妙的取法,先用一个结构体保存a,b,idx,按照a从大到小排序,先取第一个,再对剩下的每两个一组取其中b更大的.这样保证了被选出//的b一定大于剩下的b,也就满足了条件.然…
https://vjudge.net/problem/Gym-101911D 具体思路: 对于每一个数,假设当前的数是10 分解 4次,首先 1 10 这是一对,然后下一次就记录 10 1,这样的话直接每一个数跑到这个数的一半就可以了,还有一个优化,用一个数组(map会超时)记录当前这个数的分解已经到了哪个地方了. AC代码: #include<iostream> #include<stack> #include<queue> #include<map> #…
http://blog.csdn.net/DorMOUSENone/article/details/73699630…
题意:麦田的故事,n张牌,取x张牌,记住前x张牌最大的值m,继续往后取,遇到第一张比m大的牌就停下来.求一个x使得最后的牌在整副牌里是最大的期望最大. 假设最大的牌是A,A在各种位置出现的概率就是相等的,因为题目不要求输出概率,所以当成1.在A固定的情况下,在它前面的牌中最大的牌B,出现在各个位置的概率也是相等的,计算一下各个事件的概率. 当X固定的时候,B出现在它前面的事件概率和就是成功的概率,所以问题就转化成了求一个X,使得下面这个矩形框中的概率和最大. 样例,n=5 并不需要用组合数打表算…
题意:给n个元素,从n中选两个非空集合A和B.问有多少中选法? 递推: dp[n]表示元素个数为n的方案数,对于新来的一个元素,要么加入集合,要么不加入集合自成一个集合.加入集合有三种选择,A,B,E(可空的集合),或者自成集合,作为A或B,然后在选一个n-1个元素的非空子集(2^n-1 - 1). #include<cstdio> ; typedef unsigned long long ll; int main() { int n; scanf("%d",&n)…
题目:题目链接 思路:题目让求最下面池子满的时间和所有池子满的时间,首先我们考虑所有池子满的时间,我们从上到下考虑,因为某些池子满了之后溢出只能往下溢水,考虑当前池子如果注满时间最长,那么从第一个池子到当前池子容量之和与流速之和之比是一样的,随着数据读入处理一遍即可得出最大的注满时间,即注满全部池子的时间,接下来我们考虑最下方池子的注满时间,这个时间不会大于单独给这个池子注满的时间,同样的,不会大于给最下方池子和他上面那一个池子一块拿出来后最下方池子的注满时间,反着扫描一遍,就可以得出结果. A…
一开始想着球盒模型,数据范围大,递推会GG. 用凑的方法来算方案.往n个小球之间插两个隔板,方案是(n-1)*(n-2)/2,不区分盒子,三个盒子小球数各不相同的方案数被算了6次(做排列), 两个相同的被算了3次,如果n可以被3整除,那么3个相同的被算了一次.全部都加到6,在一起除以6就得到总的方案数. 方案数对n的函数具有单调性,因此二分答案. #include<bits/stdc++.h> using namespace std; typedef long long ll; ll cal(…
题意:有一个整数\(n\),每次可以对加\(10^x\)或减\(10^x\),问最少操作多少次能得到\(n\). 题解:对于某一位上的数,我们可以从\(0\)加几次得到,或者从前一位减几次得到.所以对于每一位,我们都要求得一个最优解,所以用dp来写. dp数组的一维表示当前的位置,二维表示是用第一种情况还是第二种情况. 而对于第二种情况,我们还要判断上一个位置用的是哪种,如果上一个位置用的是第一种情况,那么状态就应该是\(dp[i-1][0]+1\)(上一位要多补一个1),反之,状态应该是\(d…
大致题意: 给出n个建筑的二维坐标,每个建筑名称为一个字母,不同坐标的建筑可以有同一名称,并保证这些坐标都是在y轴上半轴.给出一串建筑名称的字符串,在X轴上找出一个或多个区间,使Nick在这个区间上从左往右观看,看到的建筑顺序与给出的字符串相符合. 分析: 建筑物的数量最多100,那么我们可以先求出任意两点的连线与X轴的交点,每两个相邻的交点间的开区间看到的顺序是相同的.那么我们枚举所有区间即可. #include <iostream> #include <cstdio> #inc…
题目链接 http://codeforces.com/gym/100917/problem/J Description standard input/outputStatements The jury of Berland regional olympiad in informatics does not trust to contest management systems, so the Berland regional programming contest is judged by th…
List of mathematical abbreviations From Wikipedia, the free encyclopedia 数学缩写列表 维基百科,自由的百科全书 This article is a listing of abbreviated names of mathematical functions, function-like operators and other mathematical terminology. 这篇文章是一个数学函数,类似于函数的操作符和其…
F. The Pool for Lucky Ones Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100637/problem/F Description A new swimming pool has been built in Kazan for the forthcoming Water Sports World Championship. The pool has N lanes. Some…