BZOJ2118: 墨墨的等式(最短路构造/同余最短路)
Description
墨墨突然对等式很感兴趣,他正在研究a1x1+a2y2+…+anxn=B存在非负整数解的条件,他要求你编写一个程序,给定N、{an}、以及B的取值范围,求出有多少B可以使等式存在非负整数解。
Input
输入的第一行包含3个正整数,分别表示N、BMin、BMax分别表示数列的长度、B的下界、B的上界。输入的第二行包含N个整数,即数列{an}的值。
Output
输出一个整数,表示有多少b可以使等式存在非负整数解。
Sample Input
3 5
Sample Output
解题思路:
详见->洛谷跳楼机
其实就是成了n元
用其他n-1元在第n元模环境下最短路。
代码:
- #include<queue>
- #include<cstdio>
- #include<cstring>
- #include<algorithm>
- typedef long long lnt;
- struct pnt{
- int hd;
- int no;
- lnt dis;
- bool vis;
- bool friend operator < (pnt x,pnt y)
- {
- return x.dis>y.dis;
- }
- }p[];
- struct ent{
- int twd;
- int lst;
- lnt vls;
- }e[];
- lnt a[];
- int n,m;
- int cnt;
- lnt Bmin,Bmax;
- lnt ans;
- std::priority_queue<pnt>Q;
- void ade(int f,int t,lnt v)
- {
- cnt++;
- e[cnt].twd=t;
- e[cnt].lst=p[f].hd;
- e[cnt].vls=v;
- p[f].hd=cnt;
- return ;
- }
- void Dij(void)
- {
- for(int i=;i<a[];i++)
- {
- p[i].dis=0x3f3f3f3f3f3f3f3fll;
- p[i].no=i;
- }
- p[].dis=;
- Q.push(p[]);
- while(!Q.empty())
- {
- int x=Q.top().no;
- Q.pop();
- if(p[x].vis)
- continue;
- p[x].vis=true;
- for(int i=p[x].hd;i;i=e[i].lst)
- {
- int to=e[i].twd;
- if(p[to].dis>p[x].dis+e[i].vls)
- {
- p[to].dis=p[x].dis+e[i].vls;
- Q.push(p[to]);
- }
- }
- }
- return ;
- }
- int main()
- {
- scanf("%d%lld%lld",&n,&Bmin,&Bmax);
- if(n==)
- {
- printf("0\n");
- return ;
- }
- for(int i=;i<=n;i++)
- {
- scanf("%lld",&a[i]);
- if(a[i]==)
- {
- n--;
- i--;
- }
- }
- for(int i=;i<=n;i++)
- for(int j=;j<a[];j++)
- ade(j,(j+a[i])%a[],a[i]);
- Dij();
- for(int i=;i<a[];i++)
- {
- if(p[i].dis>Bmax)
- continue;
- ans+=(Bmax-p[i].dis)/a[]+;
- if(p[i].dis<Bmin)
- ans-=(Bmin-p[i].dis-)/a[]+;
- }
- printf("%lld\n",ans);
- return ;
- }
BZOJ2118: 墨墨的等式(最短路构造/同余最短路)的更多相关文章
- 洛谷P3403跳楼机(最短路构造/同余最短路)
题目-> 解题思路: 最短路构造很神啊. 先用前两个值跑在第三个值模意义下的同余最短路(这步贪心可以证明,如果第三步长为z,那么如果n+z可以达到,n+2z同样可以达到) 最后计算与楼顶差多少个 ...
- 【BZOJ2118】墨墨的等式(最短路)
[BZOJ2118]墨墨的等式(最短路) 题面 BZOJ 洛谷 题解 和跳楼机那题是一样的. 只不过走的方式从\(3\)种变成了\(n\)种而已,其他的根本没有区别了. #include<ios ...
- 【BZOJ2118】墨墨的等式 最短路
[BZOJ2118]墨墨的等式 Description 墨墨突然对等式很感兴趣,他正在研究a1x1+a2y2+…+anxn=B存在非负整数解的条件,他要求你编写一个程序,给定N.{an}.以及B的取值 ...
- BZOJ2118: 墨墨的等式(最短路 数论)
题意 墨墨突然对等式很感兴趣,他正在研究a1x1+a2y2+…+anxn=B存在非负整数解的条件,他要求你编写一个程序,给定N.{an}.以及B的取值范围,求出有多少B可以使等式存在非负整数解. So ...
- BZOJ2118墨墨的等式[数论 最短路建模]
2118: 墨墨的等式 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 1317 Solved: 504[Submit][Status][Discus ...
- BZOJ2118:墨墨的等式(最短路)
Description 墨墨突然对等式很感兴趣,他正在研究a1x1+a2y2+…+anxn=B存在非负整数解的条件,他要求你编写一个程序,给定N.{an}.以及B的取值范围,求出有多少B可以使等式存在 ...
- BZOJ2118 墨墨的等式[同余类最短路]
声明:关于这题的$O(mn)$尚且未深入理解,虽然之前有跟这位神仙聊过做法但并没太懂.. $O(mn\log m)$同余最短路做法: 首先不妨抽出最小的$a_i=m$,那么剩余的$a$如果可以表示出$ ...
- 【同余最短路】【例题集合】洛谷P3403 跳楼机/P2371 墨墨的等式
接触到的新内容,[同余最短路]. 代码很好写,但思路不好理解. 同余最短路,并不是用同余来跑最短路,而是通过同余来构造某些状态,从而达到优化时间空间复杂度的目的.往往这些状态就是最短路中的点,可以类比 ...
- Bzoj2118 墨墨的等式
Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 1488 Solved: 578 Description 墨墨突然对等式很感兴趣,他正在研究a1x1+ ...
随机推荐
- Android-Volley网络通信框架(StringRequest & JsonObjectRequest)
1.回想 上篇对 Volley进行了简介和对它的学习目的与目标,最后,为学习Volley做了一些准备 2.重点 2.1 RequestQueue 请求队列的建立 2.2 学习 StringReques ...
- h5 图片回显
<form method="post" id="imgForm" action ="/hi/holdHead" enctype=&qu ...
- 22.dll调用技术
1.dll文件: #include <Windows.h> _declspec(dllexport) void message_hello() { MessageBoxA(, ); } _ ...
- Lambda表达式相当于一个函数
看来你对Lambda完全不懂.Lambda表达式相当于一个函数. 比如model => model.Name相当于string 一个函数(Model的类型 model) { return ...
- css3 列表图片hover左右滚动效果
- vue-cli · Failed to download repo vuejs-templates/webpack-simple: tunneling socket could not be established, cause=connect ECONNREFUSED 127.0.0.1:8086 && vue init webpack-simple xxx
vue init webpack-simple mywork报错如下: vue-cli · Failed to download repo vuejs-templates/webpack-simple ...
- 安装php-ldap模块
php-ldap模块作用就是实现ldap认证,因此需要安装 1.安装软件包解决依赖 yum install openldapyum install openldap-devel 2.拷贝库文件 cp ...
- U-BOOT启动流程分析--start.s(二)
一.概述 u-boot的启动流程: 从文件层面上看主要流程是在两个文件中:cpu/arm920t/start.s,lib_arm/board.c, 先来分析start.s 在flash中执行的引 ...
- 【C/C++】链表的理解与使用
转载自:http://blog.csdn.NET/xubin341719/article/details/7091583/ 最近不是太忙,整理些东西,工作也许用得到. 1,为什么要用到链表 数组作为存 ...
- CODEVS——T1052 地鼠游戏
http://codevs.cn/problem/1052/ 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 D ...