日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Deleting Edges 思维 最短路 删边

發布時間:2025/3/19 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Deleting Edges 思维 最短路 删边 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  • 題意 :給一有向圖,刪去圖中某些邊(可以不刪),使剩下的邊構成一顆樹,且0號點到每個點的距離依然為原圖中0號點到每個點的最短距離。求刪邊的方案數,即新圖所有可能性的方案數。
  • 思路 :先用dijkstra跑一遍0號點到所有點的最短路,考慮新圖中的每一個點,能讓它成立的方案數是其它最短路的點到它的路徑滿足是它的最短路徑的個數。最后,由于是求總方案數,所以是每個點的方案數相乘。
  • 注意這道題是用g中的距離為0表示無法到達,而不是0x3f,所以在初始化和輸入的時候都完全不同!要判斷是否有邊
#include <iostream> #include <cstring> #include <queue>using namespace std;typedef long long ll; typedef pair<int, int> pii;const int N = 60; const ll mod = 1e9 + 7;int n; int g[N][N]; int dist[N]; bool st[N]; ll cnt[N];void dijkstra() {dist[0] = 0;priority_queue<pii, vector<pii>, greater<pii>> heap;heap.push({0, 0});while (heap.size()){auto t = heap.top();heap.pop();int ver = t.second, distance = t.first;if (st[ver]) continue;st[ver] = true;for (int i = 0; i < n; i ++ )if (g[ver][i]) // 如果有邊{if (dist[i] > dist[ver] + g[ver][i]){dist[i] = dist[ver] + g[ver][i];heap.push({dist[i], i});}}} }int main() {ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);while (cin >> n){memset(dist, 0x3f, sizeof dist);memset(cnt, 0, sizeof cnt); // memset(g, 0x3f, sizeof 0x3f); 此題用0表示無法到達memset(st, 0, sizeof st);for (int i = 0; i < n; i ++ ){string line;cin >> line;for (int j = 0; j < n; j ++ )g[i][j] = line[j] - '0';}dijkstra();for (int i = 0; i < n; i ++ )for (int j = 0; j < n; j ++ )if (g[j][i] && dist[i] == dist[j] + g[j][i]) // 首先要有邊!!!cnt[i] = (cnt[i] + 1) % mod;ll ans = 1;for (int i = 1; i < n; i ++ ) ans = ans * cnt[i] % mod; // 從1開始cout << ans << endl;}return 0; }

總結

以上是生活随笔為你收集整理的Deleting Edges 思维 最短路 删边的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久羞羞| 天天操天天干视频 | 中文字幕日产乱码中 | 岛国一区 | 福利网站在线观看 | 日韩在线精品视频 | 中文字幕在线观看不卡 | 欧美片网站yy | 97精品人妻一区二区三区香蕉 | 黄色大全免费看 | 九色porny原创自拍 | 黄色av网站在线观看 | 永久免费成人 | 蜜臀av粉嫩av懂色av | 女人性做爰100部免费 | 手机在线看片国产 | 性无码专区无码 | 少妇xxxx69 | 天天色天天 | 亚洲超碰在线观看 | 仙踪林久久久久久久999 | 国产精品高潮呻吟久久av野狼 | 熟妇人妻精品一区二区三区视频 | 成年人午夜影院 | 欧美视频直播网站 | 亚洲视频免费观看 | 免费在线视频一区 | 91精品国产91久久久久久久久久久久 | 裸体美女免费视频网站 | 日韩毛片免费看 | 福利免费在线观看 | 麻豆久久久久久久久久 | 国产麻豆电影在线观看 | 国产精品久久久久久久久久久免费看 | 丰满熟妇乱又伦 | 蜜桃啪啪 | 国产一区二区不卡在线 | 久久精品99久久久 | 男生操男生网站 | 干综合网 | 污视频在线免费观看 | 亚洲经典一区二区三区 | 欧美日韩在线观看视频 | 天天干网站 | 日本不卡123 | 亚洲av永久无码精品放毛片 | 成人在线不卡视频 | 三级视频在线观看 | 视频日韩 | 痴女扩张宫交脱垂重口小说 | 天天干天天干天天操 | 九九99精品视频 | 久久久国产一区二区三区 | 中文字幕无码日韩专区免费 | 超碰人人人 | 国产伦精品一区二区三区免.费 | 亚洲av无码乱码国产麻豆 | 国产顶级毛片 | 欧美理伦片在线播放 | 午夜美女网站 | 好紧好爽再浪一点视频 | 亚洲生活片 | 国产又粗又长又硬免费视频 | 欧美日韩精选 | 色午夜视频 | 成人av动漫在线 | 五月天婷婷网站 | 中文字幕在线观看精品 | 久久久香蕉网 | 亚洲永久av | 激情久久中文字幕 | 红桃视频一区二区三区免费 | 久久女| 内裤摩擦1v1h| 人妻夜夜爽天天爽三区麻豆av网站 | 少妇一级淫片免费放 | 熟女毛毛多熟妇人妻aⅴ在线毛片 | 成人精品视频一区 | 亚洲国产va | 亚洲欧美色图在线 | 日韩高清中文字幕 | 九九三级| 亚洲国产精品成人久久蜜臀 | 成人久久| 纯爱无遮挡h肉动漫在线播放 | 中文av字幕 | www.国产com | 国产女女做受ⅹxx高潮 | 日b视频在线观看 | 怡红院成永久免费人全部视频 | 国产美女主播在线观看 | 欧美女优在线观看 | 亚洲一区二区电影 | 韩国一区二区视频 | av作品在线观看 | 打开免费观看视频在线播放 | 日本免费观看视频 | 乌克兰黄色片 | 国产精品一区二区三区在线免费观看 |