[bzoj2118]墨墨的等式【dijk+堆】
10/30的update:如果是冲着dijk的板子来的,建议看多校联考contest中第二场day2的T2,那边的写法比较优秀。。。
--------------------------------------------
编译器真是神经了 k=k*2打成了k*2居然都不报错 还一点事情没有
害我改一晚上
一开始忘记了c++的数组默认从0开始
后来又把dijk写T了。。。。。重申一遍,这里是先把所有点加进去然后依次pop()
至于这道题,大家都说它是一道数论好题
而狗王一定要把它当作spfa专题来讲给小朋友们听
---erh。。。
网上题解有很多 首推po姐的
#include<cstdio>
#define ll long long
#define inf 1<<29
#include<algorithm>
#include<iostream>
#define N 500100
#include<cstring>
using namespace std;
int n,q[N],pos[N];ll a[N],f[N];ll bmin,bmax;
int top;
void push_up(int kk)
{
int k=kk;
>&&f[q[k]]<f[q[k/]])
{
pos[q[k]]=k/;pos[q[k/]]=k;
swap(q[k],q[k/]);
k/=;
}
}
void push_down()
{
;
<=top)
{
+<=top&&f[q[k]]>f[q[k*+]]&&f[q[k*+]]<f[q[k*]])
{
pos[q[k]]=k*+;pos[q[k*+]]=k;
swap(q[k],q[k*+]);
k=k*+;
}]])
{
pos[q[k]]=k*;pos[q[k*]]=k;
swap(q[k],q[k*]);
k=k*;
}else break;
}
}
void ins(int x)
{
top++;q[top]=x;pos[x]=top;push_up(top);
}
void dijk()
{
;i<a[];i++)f[i]=inf;
f[]=;;i<a[];i++)ins(i);
while(top)
{
];q[]=q[top];top--;
pos[q[]]=;push_down();
;i<=n;i++)
]]>f[u]+(u+a[i])/a[])
{
f[(u+a[i])%a[]]=f[u]+(u+a[i])/a[];
];
push_up(pos[xx]);
}
}
}
ll max(ll a,ll b)
{
if(a>b)return a;else return b;
}
long long calc(long long x)
{
int i;
;
;i<a[];i++)
re+=max(0ll,x/a[]+(x%a[]>=i)-f[i]);
return re;
}
int main()
{
scanf("%d%lld%lld",&n,&bmin,&bmax);
;i<=n;i++)scanf("%lld",&a[i]);
dijk();
printf());
}
这里是一个很懒的博主。。。相信po姐大家都知道我就不贴传送门了yep
[bzoj2118]墨墨的等式【dijk+堆】的更多相关文章
- 【BZOJ2118】墨墨的等式(最短路)
[BZOJ2118]墨墨的等式(最短路) 题面 BZOJ 洛谷 题解 和跳楼机那题是一样的. 只不过走的方式从\(3\)种变成了\(n\)种而已,其他的根本没有区别了. #include<ios ...
- 【BZOJ2118】墨墨的等式 最短路
[BZOJ2118]墨墨的等式 Description 墨墨突然对等式很感兴趣,他正在研究a1x1+a2y2+…+anxn=B存在非负整数解的条件,他要求你编写一个程序,给定N.{an}.以及B的取值 ...
- BZOJ2118墨墨的等式[数论 最短路建模]
2118: 墨墨的等式 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 1317 Solved: 504[Submit][Status][Discus ...
- Bzoj2118 墨墨的等式
Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 1488 Solved: 578 Description 墨墨突然对等式很感兴趣,他正在研究a1x1+ ...
- BZOJ2118: 墨墨的等式(同余类BFS)(数学转为图论题)
2118: 墨墨的等式 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 2944 Solved: 1206[Submit][Status][Discu ...
- BZOJ2118:墨墨的等式(最短路)
Description 墨墨突然对等式很感兴趣,他正在研究a1x1+a2y2+…+anxn=B存在非负整数解的条件,他要求你编写一个程序,给定N.{an}.以及B的取值范围,求出有多少B可以使等式存在 ...
- p2371&bzoj2118 墨墨的等式
传送门(bzoj) 题目 墨墨突然对等式很感兴趣,他正在研究a1x1+a2y2+…+anxn=B存在非负整数解的条件,他要求你编写一个程序,给定N.{an}.以及B的取值范围,求出有多少B可以使等式存 ...
- BZOJ2118: 墨墨的等式(最短路 数论)
题意 墨墨突然对等式很感兴趣,他正在研究a1x1+a2y2+…+anxn=B存在非负整数解的条件,他要求你编写一个程序,给定N.{an}.以及B的取值范围,求出有多少B可以使等式存在非负整数解. So ...
- BZOJ2118: 墨墨的等式(最短路构造/同余最短路)
Description 墨墨突然对等式很感兴趣,他正在研究a1x1+a2y2+…+anxn=B存在非负整数解的条件,他要求你编写一个程序,给定N.{an}.以及B的取值范围,求出有多少B可以使等式存在 ...
- 【BZOJ 2118】 墨墨的等式(Dijkstra)
BZOJ2118 墨墨的等式 题链:http://www.lydsy.com/JudgeOnline/problem.php?id=2118 Description 墨墨突然对等式很感兴趣,他正在研究 ...
随机推荐
- MFC添加菜单事件
双击draw.rc,就能看到.
- 根据复选框checkbox的选中状态来打开或关闭隐藏层
HTML: <input type="checkbox" id="check-expert"> <div id="expert&q ...
- Scrapy爬取美女图片 (原创)
有半个月没有更新了,最近确实有点忙.先是华为的比赛,接着实验室又有项目,然后又学习了一些新的知识,所以没有更新文章.为了表达我的歉意,我给大家来一波福利... 今天咱们说的是爬虫框架.之前我使用pyt ...
- 整理 iOS 9 适配中出现的坑(图文)(转)
作者:董铂然 本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版,随着 ...
- ssh -v root@xxxxx 显示登录的细节
[root@ok .ssh]# ssh -v root@10.100.2.84 OpenSSH_5.3p1, OpenSSL Feb debug1: Reading configuration dat ...
- 关于plsql连接oracle数据库session失效时间设置
http://bbs.csdn.net/topics/350152441 http://www.linuxidc.com/Linux/2015-09/123286.htm
- MySQL zabbix
http://liqingbiao.blog.51cto.com/3044896/1712080
- Feature hashing相关 - 2
Bloom filter 思路 用多个不同hash 来记录,比如遇到一个 love 有4个hash function 映射到4个bit位置,如果所有位置都是1 那么认为之前已经遇到love这个 ...
- ASP.NET Web API 使用Swagger生成在线帮助测试文档
Swagger-UI简单而一目了然.它能够纯碎的基于html+javascript实现,只要稍微整合一下便能成为方便的API在线测试工具.项目的设计架构中一直提倡使用TDD(测试驱动)原则来开发,sw ...
- Task使用小结
Task是.NET推出数据任务处理的工作类,Task的使用也被越来越多的人讲解,这里仅仅介绍Task的部分使用介绍: 1.Task简单创建 --无返回值 Task.Factory.StartNew(( ...