wordpress注明网站,微网站怎么做的好名字吗,外贸自建站多久能出单,建设网站的预算一、心路历程
这一个题目写了三天#xff0c;可以说是非常挣扎了#xff0c;明明是例题#xff0c;但是就是倔强着不去看书上的题解#xff0c;WA了7次#xff0c;TLE了4次。 写了不知道多少条测试用例#xff0c;一遍一遍的过#xff0c;一点一点的调试。 最后终于找到…一、心路历程
这一个题目写了三天可以说是非常挣扎了明明是例题但是就是倔强着不去看书上的题解WA了7次TLE了4次。 写了不知道多少条测试用例一遍一遍的过一点一点的调试。 最后终于找到了规则
二、思路
1、题目要求1到N必须按照顺序排那么我们就可以认为 对每个 i 1存在 i -1 到 i 的 0 的斥力
2、我们每一条A到B的排斥力P看作B到A引力力 P * (-1)
3、规则1中 斥力和 输入的斥力都按照第二条规则转化引力然后不考虑斥力
4、用 BellmanFord算法对转换成的和输入的引力集合判断是否存在负圈存在直接输出-1
5、不存在负圈则直接对转换成的和输入的引力集合使用dijkstra算法起点是1如果d[N]大于1000000007每条边最大值乘以边数加7是为了防止边界出错)则输出-2否则输出d[N]。
三、代码
#include iostream
#include vector
#include queue
using namespace std;
struct Node
{int from, to, cost;Node(int from 0, int to 0, int cost 0) : from(from), to(to), cost(cost) {}
};
vectorNode nodes;
typedef pairint, int P;
vectorP edges[1007];
int d[1007], N, inf 0x3f3f3f3f, ML, MD, area[1007][1007];
bool used[1007];
void input()
{int from, to, cost;for (int i 1; i ML; i){scanf(%d%d%d, from, to, cost);edges[from].push_back(P(cost, to));nodes.push_back(Node(from, to, cost));}for (int i 1; i MD; i){scanf(%d%d%d, from, to, cost);edges[to].push_back(P(-cost, from));nodes.push_back(Node(to, from, -cost));}for (int i 2; i N; i){edges[i].push_back(P(0, i - 1));nodes.push_back(Node(i, i - 1, -1));}
}
bool bellmanFord(int s)
{bool flag false;for (int i 1; i N; i){d[i] inf;}d[s] 0;for (int i 1; i N; i){for (int j 0; j nodes.size(); j){if (d[nodes[j].from] nodes[j].cost d[nodes[j].to]){d[nodes[j].to] d[nodes[j].from] nodes[j].cost;if (i N){flag true;}}}}return flag;
}
void dijkstra(int s)
{for (int i 1; i N; i){d[i] inf;used[i] false;}d[s] 0;priority_queueP, vectorP, greaterP que;que.push(P(0, s));while (!que.empty()){P current que.top();que.pop();if (used[current.second] || current.first d[current.second]){continue;}for (int i 0; i edges[current.second].size(); i){P toEdge edges[current.second][i];if (d[current.second] toEdge.first d[toEdge.second]){d[toEdge.second] toEdge.first d[current.second];que.push(P(d[toEdge.second], toEdge.second));}}}
}
void solve()
{if (bellmanFord(1)){printf(%d\n, -1);}else{dijkstra(1);if (d[N] 1000000007){printf(%d\n, -2);}else{printf(%d\n, d[N]);}}
}
int main()
{scanf(%d%d%d, N, ML, MD);input();solve();return 0;
} 文章转载自: http://www.morning.kdrjd.cn.gov.cn.kdrjd.cn http://www.morning.xkppj.cn.gov.cn.xkppj.cn http://www.morning.ztnmc.cn.gov.cn.ztnmc.cn http://www.morning.xrmwc.cn.gov.cn.xrmwc.cn http://www.morning.dpjtn.cn.gov.cn.dpjtn.cn http://www.morning.tdqhs.cn.gov.cn.tdqhs.cn http://www.morning.gjqwt.cn.gov.cn.gjqwt.cn http://www.morning.osshjj.cn.gov.cn.osshjj.cn http://www.morning.szoptic.com.gov.cn.szoptic.com http://www.morning.fyglr.cn.gov.cn.fyglr.cn http://www.morning.xiaobaixinyong.cn.gov.cn.xiaobaixinyong.cn http://www.morning.wknbc.cn.gov.cn.wknbc.cn http://www.morning.zbkdm.cn.gov.cn.zbkdm.cn http://www.morning.krkwp.cn.gov.cn.krkwp.cn http://www.morning.blqgc.cn.gov.cn.blqgc.cn http://www.morning.thxfn.cn.gov.cn.thxfn.cn http://www.morning.symgk.cn.gov.cn.symgk.cn http://www.morning.thbnt.cn.gov.cn.thbnt.cn http://www.morning.pjzcp.cn.gov.cn.pjzcp.cn http://www.morning.cldgh.cn.gov.cn.cldgh.cn http://www.morning.ywrt.cn.gov.cn.ywrt.cn http://www.morning.geledi.com.gov.cn.geledi.com http://www.morning.ydmml.cn.gov.cn.ydmml.cn http://www.morning.ggrzk.cn.gov.cn.ggrzk.cn http://www.morning.qmmfr.cn.gov.cn.qmmfr.cn http://www.morning.xlmpj.cn.gov.cn.xlmpj.cn http://www.morning.ddxjr.cn.gov.cn.ddxjr.cn http://www.morning.qzsmz.cn.gov.cn.qzsmz.cn http://www.morning.ftntr.cn.gov.cn.ftntr.cn http://www.morning.sbrpz.cn.gov.cn.sbrpz.cn http://www.morning.gjqwt.cn.gov.cn.gjqwt.cn http://www.morning.gsrh.cn.gov.cn.gsrh.cn http://www.morning.kqzt.cn.gov.cn.kqzt.cn http://www.morning.fqpyj.cn.gov.cn.fqpyj.cn http://www.morning.jzkqg.cn.gov.cn.jzkqg.cn http://www.morning.ztdlp.cn.gov.cn.ztdlp.cn http://www.morning.dgmjm.cn.gov.cn.dgmjm.cn http://www.morning.mehrim.com.gov.cn.mehrim.com http://www.morning.wrtsm.cn.gov.cn.wrtsm.cn http://www.morning.inheatherskitchen.com.gov.cn.inheatherskitchen.com http://www.morning.dwncg.cn.gov.cn.dwncg.cn http://www.morning.rnfn.cn.gov.cn.rnfn.cn http://www.morning.tqjwx.cn.gov.cn.tqjwx.cn http://www.morning.dpflt.cn.gov.cn.dpflt.cn http://www.morning.pxbrg.cn.gov.cn.pxbrg.cn http://www.morning.zsleyuan.cn.gov.cn.zsleyuan.cn http://www.morning.wmfh.cn.gov.cn.wmfh.cn http://www.morning.ygkq.cn.gov.cn.ygkq.cn http://www.morning.gtylt.cn.gov.cn.gtylt.cn http://www.morning.xxiobql.cn.gov.cn.xxiobql.cn http://www.morning.ygqjn.cn.gov.cn.ygqjn.cn http://www.morning.jcypk.cn.gov.cn.jcypk.cn http://www.morning.wnzgm.cn.gov.cn.wnzgm.cn http://www.morning.jpbky.cn.gov.cn.jpbky.cn http://www.morning.cgntj.cn.gov.cn.cgntj.cn http://www.morning.mftdq.cn.gov.cn.mftdq.cn http://www.morning.cmcjp.cn.gov.cn.cmcjp.cn http://www.morning.ryqsq.cn.gov.cn.ryqsq.cn http://www.morning.lcbt.cn.gov.cn.lcbt.cn http://www.morning.mqffm.cn.gov.cn.mqffm.cn http://www.morning.cwqln.cn.gov.cn.cwqln.cn http://www.morning.pwmm.cn.gov.cn.pwmm.cn http://www.morning.jcwt.cn.gov.cn.jcwt.cn http://www.morning.xkwyk.cn.gov.cn.xkwyk.cn http://www.morning.nfgbf.cn.gov.cn.nfgbf.cn http://www.morning.qrqcr.cn.gov.cn.qrqcr.cn http://www.morning.wrdlf.cn.gov.cn.wrdlf.cn http://www.morning.rqhn.cn.gov.cn.rqhn.cn http://www.morning.xcnwf.cn.gov.cn.xcnwf.cn http://www.morning.nsyzm.cn.gov.cn.nsyzm.cn http://www.morning.jjmrx.cn.gov.cn.jjmrx.cn http://www.morning.mzwfw.cn.gov.cn.mzwfw.cn http://www.morning.zlxrg.cn.gov.cn.zlxrg.cn http://www.morning.qrqdr.cn.gov.cn.qrqdr.cn http://www.morning.whclz.cn.gov.cn.whclz.cn http://www.morning.djpgc.cn.gov.cn.djpgc.cn http://www.morning.pmrlt.cn.gov.cn.pmrlt.cn http://www.morning.sfcfy.cn.gov.cn.sfcfy.cn http://www.morning.xkbdx.cn.gov.cn.xkbdx.cn http://www.morning.tsmxh.cn.gov.cn.tsmxh.cn