10/30的update:如果是冲着dijk的板子来的,建议看多校联考contest中第二场day2的T2,那边的写法比较优秀。。。

--------------------------------------------

编译器真是神经了  k=k*2打成了k*2居然都不报错  还一点事情没有

害我改一晚上

一开始忘记了c++的数组默认从0开始

后来又把dijk写T了。。。。。重申一遍,这里是先把所有点加进去然后依次pop()

至于这道题,大家都说它是一道数论好题

而狗王一定要把它当作spfa专题来讲给小朋友们听

---erh。。。

网上题解有很多 首推po姐的

  1. #include<cstdio>
  2. #define ll long long
  3. #define inf 1<<29
  4. #include<algorithm>
  5. #include<iostream>
  6. #define N 500100
  7. #include<cstring>
  8. using namespace std;
  9. int n,q[N],pos[N];ll a[N],f[N];ll bmin,bmax;
  10. int top;
  11. void push_up(int kk)
  12. {
  13. int k=kk;
  14. >&&f[q[k]]<f[q[k/]])
  15. {
  16. pos[q[k]]=k/;pos[q[k/]]=k;
  17. swap(q[k],q[k/]);
  18. k/=;
  19. }
  20. }
  21. void push_down()
  22. {
  23. ;
  24. <=top)
  25. {
  26. +<=top&&f[q[k]]>f[q[k*+]]&&f[q[k*+]]<f[q[k*]])
  27. {
  28. pos[q[k]]=k*+;pos[q[k*+]]=k;
  29. swap(q[k],q[k*+]);
  30. k=k*+;
  31. }]])
  32. {
  33. pos[q[k]]=k*;pos[q[k*]]=k;
  34. swap(q[k],q[k*]);
  35. k=k*;
  36. }else break;
  37. }
  38. }
  39. void ins(int x)
  40. {
  41. top++;q[top]=x;pos[x]=top;push_up(top);
  42. }
  43. void dijk()
  44. {
  45. ;i<a[];i++)f[i]=inf;
  46. f[]=;;i<a[];i++)ins(i);
  47. while(top)
  48. {
  49. ];q[]=q[top];top--;
  50. pos[q[]]=;push_down();
  51. ;i<=n;i++)
  52. ]]>f[u]+(u+a[i])/a[])
  53. {
  54. f[(u+a[i])%a[]]=f[u]+(u+a[i])/a[];
  55. ];
  56. push_up(pos[xx]);
  57. }
  58. }
  59. }
  60. ll max(ll a,ll b)
  61. {
  62. if(a>b)return a;else return b;
  63. }
  64. long long calc(long long x)
  65. {
  66. int i;
  67. ;
  68. ;i<a[];i++)
  69. re+=max(0ll,x/a[]+(x%a[]>=i)-f[i]);
  70. return re;
  71. }
  72. int main()
  73. {
  74. scanf("%d%lld%lld",&n,&bmin,&bmax);
  75. ;i<=n;i++)scanf("%lld",&a[i]);
  76. dijk();
  77. printf());
  78. }

这里是一个很懒的博主。。。相信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. PHP安全编程:对输出要进行转义

    为了区分数据是否已转义,我还是建议定义一个命名机制.对于输出到客户机的转义数据,我使用$html数组进行存储,该数据首先初始化成一个空数组,对所有已过滤和已转义数据进行保存. 1 <?php 2 ...

  2. 使用a标签删除进行提示

    一句话搞定: <a href="Login.aspx" target="mainFrame" class="STYLE4" oncli ...

  3. stm32——NFC芯片--PN532的使用

    stm32——NFC芯片--PN532的使用 一.NFC简介 NFC(Near Field Communication)近场通信,是一种短距高频的无线电技术,在13.56MHz频率运行于20厘米距离内 ...

  4. 创建INnodb的compress表

    需要将innodb_file_per_table=1 ,innodb_file_format=Barracuda;; 如: Creating a Compressed Table in a Gener ...

  5. NYOJ926(概率)

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=926 设最终A获胜的概率为P,则B获胜的概率为1-P: 因此我们只需要考虑A获胜的概率即可 ...

  6. UVA 111 History Grading

    读题读了好久,其实就是在输入数据时要对数据的位置进行相应的改变 #include<iostream> #include<cstring> #include<cstdio& ...

  7. php 审核管理

    权限管理界面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...

  8. gitlab 用户头像不能显示的问题

    [root@GitLab assets]# cat /etc/gitlab/gitlab.rb # Change the external_url to the address your users ...

  9. CLR via C#(08)-操作符

    对于操作符,我们并不陌生,例如+,-,*,%等二元操作符,以及++,!等一元操作符.但是对于非基元类型,我们需要通过一些自定义方法才能使用这些操作符.今天主要和大家分享关于操作符重载和转换操作符的知识 ...

  10. 数据结构和算法 – 5.模式匹配和文本处理

    了使用正则表达式,需要把 RegEx 类引入程序.大家可以在 System.Text.RegularExpression 名字域中找到这种类.一旦把这种类导入了程序,就需要决定想要用 RegEx 类来 ...