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+堆】的更多相关文章

  1. 【BZOJ2118】墨墨的等式(最短路)

    [BZOJ2118]墨墨的等式(最短路) 题面 BZOJ 洛谷 题解 和跳楼机那题是一样的. 只不过走的方式从\(3\)种变成了\(n\)种而已,其他的根本没有区别了. #include<ios ...

  2. 【BZOJ2118】墨墨的等式 最短路

    [BZOJ2118]墨墨的等式 Description 墨墨突然对等式很感兴趣,他正在研究a1x1+a2y2+…+anxn=B存在非负整数解的条件,他要求你编写一个程序,给定N.{an}.以及B的取值 ...

  3. BZOJ2118墨墨的等式[数论 最短路建模]

    2118: 墨墨的等式 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 1317  Solved: 504[Submit][Status][Discus ...

  4. Bzoj2118 墨墨的等式

    Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 1488  Solved: 578 Description 墨墨突然对等式很感兴趣,他正在研究a1x1+ ...

  5. BZOJ2118: 墨墨的等式(同余类BFS)(数学转为图论题)

    2118: 墨墨的等式 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 2944  Solved: 1206[Submit][Status][Discu ...

  6. BZOJ2118:墨墨的等式(最短路)

    Description 墨墨突然对等式很感兴趣,他正在研究a1x1+a2y2+…+anxn=B存在非负整数解的条件,他要求你编写一个程序,给定N.{an}.以及B的取值范围,求出有多少B可以使等式存在 ...

  7. p2371&bzoj2118 墨墨的等式

    传送门(bzoj) 题目 墨墨突然对等式很感兴趣,他正在研究a1x1+a2y2+…+anxn=B存在非负整数解的条件,他要求你编写一个程序,给定N.{an}.以及B的取值范围,求出有多少B可以使等式存 ...

  8. BZOJ2118: 墨墨的等式(最短路 数论)

    题意 墨墨突然对等式很感兴趣,他正在研究a1x1+a2y2+…+anxn=B存在非负整数解的条件,他要求你编写一个程序,给定N.{an}.以及B的取值范围,求出有多少B可以使等式存在非负整数解. So ...

  9. BZOJ2118: 墨墨的等式(最短路构造/同余最短路)

    Description 墨墨突然对等式很感兴趣,他正在研究a1x1+a2y2+…+anxn=B存在非负整数解的条件,他要求你编写一个程序,给定N.{an}.以及B的取值范围,求出有多少B可以使等式存在 ...

  10. 【BZOJ 2118】 墨墨的等式(Dijkstra)

    BZOJ2118 墨墨的等式 题链:http://www.lydsy.com/JudgeOnline/problem.php?id=2118 Description 墨墨突然对等式很感兴趣,他正在研究 ...

随机推荐

  1. Debian8.3.0下安装Odoo8.0步骤

    Debian8.3.0下安装Odoo8.0的方法 假设你已经安装好了Debian 系统,使用root帐号执行如下命令 # apt-get update && apt-get upgra ...

  2. bootstrap日期控件在火狐下的模态框中选择时间下拉菜单无效的解决办法

    今天收到程序组提交的一个兼容BUG,在火狐中使用模态框加载日期控件时选择时间下拉菜单没有效果(不能点击),而在谷歌中却是好的, 排错思路:1,在当前页面主层放置一个时间控件,测试通过 2,在ajax加 ...

  3. iOS MRC ARC 内存管理

    转自:http://www.jianshu.com/p/48665652e4e4 1. 什么是内存管理 程序在运行的过程中通常通过以下行为,来增加程序的的内存占用 创建一个OC对象 定义一个变量 调用 ...

  4. Servlet题库

    一.    填空题 Servlet中使用Session对象的步骤为:调用  HttpServletRequest.getSession()  得到Session对象,查看Session对象,在会话中保 ...

  5. 在没装VS2010的机器上运行VS2010开发的C++程序

    在VS2010下写了一个win32控制台应用程序,编译ok.exe,需要依赖osg相关动态库 第一次编译的是Debug版本的,直接将ok.exe和osg相关dll文件拷贝到没有安装VS2010机器上运 ...

  6. maven编译时如何忽略单元测试

    共有两种解决办法 1.通过在命令行设置:-Dmaven.test.skip=true 如:mvn clean install tomcat:run -Dmaven.test.skip=true 2.通 ...

  7. Oracle BFILE备忘

    创建目录 create or replace directory exp_dir as '/tmp'; 赋权 grant read, write on directory exp_dir to PUB ...

  8. Mysql基于GTIDs的复制

    通过GTIDs[global transaction identifiers],可以标识每一个事务,并且可以在其一旦提交追踪并应用于任何一个Slave上:这样 就不需要像BinaryLog复制依赖Lo ...

  9. Rabbitmq实现负载均衡与消息持久化

      Rabbitmq 是对AMQP协议的一种实现.使用范围也比较广泛,主要用于消息异步通讯. 一,默认情况下Rabbitmq使用轮询(round-robin)方式转发消息.为了较好实现负载,可以在消息 ...

  10. 分享类shareSDK

    1.新浪微博分享时需要注意: [A] 应用信息->基本信息->应用地址 [B] 应用信息->高级信息->OAuth2.0 授权设置 //当使用新浪微博客户端分享的时候需要按照下 ...