|
#include<cstdio>
#include<cmath> #include<algorithm> #define precision 0.0001 #define maxn 1000 using namespace std; struct tnode{double d,p;}a[maxn+10]; double d1,c,d2,p; int n; bool cmp(tnode xx,tnode yy) { return xx.d<yy.d; } int main() { // freopen("lyuxing.in","r",stdin); // freopen("lyuxing.out","w",stdout); int i,j,k; double s,ans,x,y; scanf("%lf%lf%lf%lf%d",&d1,&c,&d2,&p,&n); a[1].d=0,a[1].p=p; a[2].d=d1,a[2].p=0; for(n+=2,i=3;i<=n;i++)scanf("%lf%lf",&a[i].d,&a[i].p); sort(a+1,a+n+1,cmp); k=1,ans=x=0,s=c*d2; while(k<=n) { if(a[k+1].d-a[k].d>s){printf("No Solution\n");return 0;} for(j=k+1;a[j].d-a[k].d<=s && j<=n;j++) if(a[j].p<=a[k].p) { y=(a[j].d-a[k].d)/d2; if(x<y)ans+=a[k].p*(y-x),x=0; else x-=y; k=j; break; } if(fabs(a[k].d-d1)<=precision) { printf("%.2lf\n",ans); return 0; } if(j!=k) { ans+=a[k].p*(c-x); x=c-(a[k+1].d-a[k].d)/d2; k++; } } return 0; } |
|
|
|
题目 1755 爱上捉迷藏
2016-10-23 21:43:32
|
|
坑正确率的题目。。。
|
|
用dfs写了个离线动态生成树,结果看别人的代码都是在线暴力并查集= =
|
|
Orz..这模型厉害。。。
|
|
神一般的位运算……然而还是没有完全参透,明天一定再看看……
![]()
题目 1416 [冲刺NOIP2014]倒水
2016-10-23 20:59:44
|
|
这题真可以用随机化!!!模拟退火大法好!!!!!!!
题目 1197 [Nescafé 26] 小猫爬山
2016-10-23 20:54:14
|
|
写着写着忘取模了。。。。。。
题目 1438 [NOIP 2013]火柴排队
2016-10-23 20:44:55
|
|
膜拜叶子大神, 思路果然清新飘逸.
题目 2434 暗之链锁
2016-10-23 20:35:34
|
|
|
|
题目 1197 [Nescafé 26] 小猫爬山
2016-10-23 20:29:03
|
|
数据水,rand()乱搞过了
|
|
随机化多交几次就过了
题目 1107 售货员的难题
2016-10-23 19:18:49
|
|
我只是想刷刷水题来着……
|
|
无脑树剖代码题1A之。。。。复制粘贴大法好,20分钟搞完360行代码。
|
|
正解其实是暴力DFS寻找所有可能路径加个剪枝->_->
题目 1271 [NOIP 2012]文化之旅
2016-10-23 18:03:53
|
|
倒数第二组的数据是错的,答案应当为124850而非139108,可行方案为
42 16 391 185 94 296 374 359 7 426 389 496 427 11 484 388 即: 矩形1:左下角(42,16)右上角(391,185) 矩形2:左下角(94,296)右上角(374,359) 矩形3:左下角(7,426 )右上角(389, 496) 矩形4:左下角(427,11)右上角 (484,388) 可以验证,这组方案是合法的。
题目 103 [NOIP 2002]矩形覆盖
2016-10-23 17:56:59
|
|
时隔这么久终于A了......
手残党宣言之:忘记把下标改成dfn |
|
|