51nod1093(推公式&找規律)
題目鏈接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1093
題意:中文題誒~
思路:xjb
一開始死活想不出怎麼將一個中間點兩個中間點的情況推廣到多個中間點的情況,然後看了下討論,迷迷糊糊就過了..
下面一段話轉自討論:
路程是这么分的:最后一段肯定是K,且恰好携带K根香蕉
假设 N = a + K,那么剩下的问题就变成怎么从起点0运送K根香蕉到a点了,在a比较小的时候,应该只需要一个补给点,0 ---> a ----> K + a,假设从0到a往返次数为n, 则前向运输的次数为(n + 1)次,返回次数为n次,路途中消耗的香蕉为(2 * n+1) * a,因为骆驼每次运输量至多为K,
则需要满足:
K + (2 * n + 1) * a <= (n + 1) * K
取n = 1,得到 a <= K / 3。这时候,可以反过来证明在 K < N <= K + K / 3的时候,最佳的运输方案是设置一个补给点a,且从0到a 往返一次。
依此类推,N = b + K + K / 3的时候(b较小)设置两个补给点,越后面的路段越长,且往返次数越小。
...
事實上這段話也只是分析了一下1個中間點的情況,不過讓我發現了自己一開始的問題:我沒有給n定值,所以也就不能確定a的值.嘗試給a定值後,可以發現從終點到起點每兩個站點間經過的次數是有規律的,
滿足數列:1, 3, 5, 7, 9....
再注意一下最後的計算結果需要向上取整即可...
代碼:
#include <iostream>
#include <math.h>
using namespace std; int main(void){
int n, k, cnt=;
double ans, len;
cin >> n >> k;
if(k>=n){
cout << n << endl;
return ;
}
ans=len=k;
while(n>len){
cnt+=;
int cc=(cnt-)>>;
double x=((cc+)*k-ans)/(*cc+);
if(len+x>=n){
double gg=n-len;
ans+=gg*cnt;
len=n;
}else{
len+=x;
ans+=cnt*x;
}
}
cout << (int)ceil(ans) << endl;//ceil要轉int輸出,不然會輸出1e..這樣的格式..坑//
return ;
}
51nod1093(推公式&找規律)的更多相关文章
- BZOJ1002輪狀病毒 暴搜 + 找規律 + 高精度
@[暴搜, 找規律, 高精度] Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个\(n\)轮状基由圆环上\(n\)个不同的基原子和圆心处一个核原子构成的,2个 ...
- ZOJ3629 Treasure Hunt IV(找规律,推公式)
Treasure Hunt IV Time Limit: 2 Seconds Memory Limit: 65536 KB Alice is exploring the wonderland ...
- hdu_5810_Balls and Boxes(打表推公式)
题目链接:hdu_5810_Balls and Boxes 题意: 如题,让你求那个公式的期望 题解: 打表找规律,然后推公式.这项技能必须得学会 #include<cstdio> #in ...
- 隱藏在素數規律中的Pi -- BZOJ1041解題報告
退役狗在刷程書的過程中看到了一個有趣的視頻, 講解了一個有趣的問題. 在網上隨便搜索了一下居然還真的找到了一道以它爲背景的OI題目, BZOJ1041. 下面的內容會首先回顧一下視頻所討論的知識, 有 ...
- Balls and Boxes---hdu5810(推公式)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5810 有n个球m个盒子,随机把球放到盒子中,求每个盒子球个数的方差的期望值 E[V]; 推公式吧,或者 ...
- SGU 495 Kids and Prizes:期望dp / 概率dp / 推公式
题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=495 题意: 有n个礼物盒,m个人. 最开始每个礼物盒中都有一个礼物. m个人依次随 ...
- HDU6050: Funny Function(推公式+矩阵快速幂)
传送门 题意 利用给出的式子求\(F_{m,1}\) 分析 直接推公式(都是找规律大佬) \(n为偶数,F_{m,1}=\frac{2(2^n-1)^{m-1}}3\) \(n为奇数,F_{m,1}= ...
- HDU 4873 ZCC Loves Intersection(JAVA、大数、推公式)
在一个D维空间,只有整点,点的每个维度的值是0~n-1 .现每秒生成D条线段,第i条线段与第i维度的轴平行.问D条线段的相交期望. 生成线段[a1,a2]的方法(假设该线段为第i条,即与第i维度的轴平 ...
- HDU 4870 Rating(概率、期望、推公式) && ZOJ 3415 Zhou Yu
其实zoj 3415不是应该叫Yu Zhou吗...碰到ZOJ 3415之后用了第二个参考网址的方法去求通项,然后这次碰到4870不会搞.参考了chanme的,然后重新把周瑜跟排名都反复推导(不是推倒 ...
随机推荐
- 【BZOJ1043】[HAOI2008]下落的圆盘 几何
[BZOJ1043][HAOI2008]下落的圆盘 Description 有n个圆盘从天而降,后面落下的可以盖住前面的.求最后形成的封闭区域的周长.看下面这副图, 所有的红色线条的总长度即为所求. ...
- sort_action
li, r = [23,8, 45, 5, 0, -6, 745,8, 8], [] while (len(li) > 0): loop_, min, tag = len(li), li[0], ...
- Mixtures of Gaussians and the EM algorithm
http://cs229.stanford.edu/ http://cs229.stanford.edu/notes/cs229-notes7b.pdf
- CAN协议与CANOpen协议
这里详细介绍了CAN协议中数据通信帧每位的含义,有图片,值得一看:https://www.cnblogs.com/pejoicen/p/3986587.html 这里介绍了CanOpen协议,http ...
- 使用bat文件打开和关闭本地exe
打开: cd 路径start AA.exe 关闭: taskkill /f /im AA.exe
- RabbitMQ的介绍与spring整合
本文主要讲述的是个人参考官网及其他前辈博客,对RabbitMQ的一些理解与spring整个RabbitMQ. 一.RabbitMQ的介绍 1.1.什么是RabbitMQ RabbitMQ是一个由erl ...
- Hihocoder #1095 : HIHO Drinking Game (微软苏州校招笔试)( *【二分搜索最优解】)
#1095 : HIHO Drinking Game 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi and Little Ho are playin ...
- 基于BASYS2的VHDL程序——分频和数码管静态显示程序
转载请注明出处:http://www.cnblogs.com/connorzx/p/3633860.html 分频是基于计数器程序.由于FPGA的并行处理能力,根本不需要单片机式的中断指令,用起来很方 ...
- fatal error C1902: 程序数据库管理器不匹配;请检查安装解决
http://blog.sina.com.cn/s/blog_9f4bc8e301015uhz.html 1.错误提示:VS2008编译错误fatal error C1902: 程序数据库管理器不匹配 ...
- codeforces 701D D. As Fast As Possible(数学)
题目链接: D. As Fast As Possible time limit per test 1 second memory limit per test 256 megabytes input ...