<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      csp-j2023第四題 旅游巴士

      旅游巴士這道題在一年之前的csp-j中并沒有做(我是一個蒟蒻)
      回看本題,又有了新的想法
      對于每一層i我們將其看成走到這是的時間j mod k的余數(shù)
      很顯然,為了讓我們更快的通過,等待時間+當前時間>=限制時間是最優(yōu)的

      /*
      使用分層圖,跑dijkstra堆優(yōu)化的最短路
      在限制時間那部分,若小于限制時間,可每次等k的倍數(shù)的時間,使得:等待時間+當前時間>=限制時間
      因為離開時間是k的倍數(shù),所以我們盡量使每次到達一個點的時間也是k的倍數(shù),這樣離開時就不用再等太久了
      按照上述思路敲代碼是最優(yōu)的 
      vector數(shù)組graph是用來存儲分層圖的,為graph_node類型的 
      min_time[i]表示走到分層圖的第i個節(jié)點的最優(yōu)時間 
      q 是優(yōu)先隊列(堆)priority_queue,是graph_node結構體為類型的,進行重載小于號,方便堆排序 
      時間復雜度 O(nk log(nk)) 
      */
      #include <bits/stdc++.h>
      using namespace std;
      const int N=1e6+10;
      struct graph_node{
      	int to_node;
      	int cur_time;
      	bool operator<(const graph_node &s1)const{
      		return cur_time>s1.cur_time;
      	}
      };
      vector<graph_node>graph[N];
      int n,m,k;
      int min_time[N];
      void dijkstra(int start){
      	for (int i=1;i<=n*k;i++)min_time[i]=0x3f3f3f3f;
      	priority_queue<graph_node>q;
      	q.push({start,0});min_time[1]=0;
      	while (!q.empty()){
      		int cur=q.top().to_node,t=q.top().cur_time;q.pop();
      		if (t<=min_time[cur]){
      			for (const auto&road:graph[cur]){
      				int plat=min_time[cur]+1,limt=road.cur_time;
      				if (min_time[cur]<limt)plat+=ceil((limt-min_time[cur])*1.0/k)*k;
      				if (plat<min_time[road.to_node]){
      					min_time[road.to_node]=plat;
      					q.push({road.to_node,plat});
      				}
      			}
      		}
      	}
      }
      int main(){
      	cin>>n>>m>>k;
      	int x,y,len;
      	for (int i=1;i<=m;i++){
      		cin>>x>>y>>len;
      		for (int j=0;j<k;j++)
      			graph[j*n+x].push_back({(j+1)%k*n+y,len});
      	}
      	dijkstra(1);
      	if (min_time[n]==0x3f3f3f3f)cout<<-1;
      	else cout<<min_time[n];
      	return 0;
      } 
      
      posted @ 2024-08-11 16:42  just_do_it_now  閱讀(306)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产无人区码一区二区| 午夜福利院一区二区三区| 久久综合97丁香色香蕉| 猫咪www免费人成网站| 精品国产熟女一区二区三区| 久久精品99国产精品日本| 亚洲韩国精品无码一区二区三区| 国产欧美精品一区aⅴ影院| 91久久天天躁狠狠躁夜夜| 国产精品视频一品二区三| 格尔木市| 久久大香萑太香蕉av黄软件| 日韩熟妇中文色在线视频| 亚洲一卡2卡三卡四卡精品| 最近中文字幕完整版hd| 成人免费A级毛片无码网站入口| 99视频在线精品国自产拍 | 日本无遮挡真人祼交视频| 亚洲第一香蕉视频啪啪爽| 视频一区视频二区制服丝袜| 一本久道久久综合中文字幕| 欧美日韩精品一区二区三区高清视频| 松滋市| 亚洲男人在线天堂| 国产福利姬喷水福利在线观看 | 99精品国产在热久久婷婷| 中文字幕国产精品第一页| 精品亚洲国产成人av| 亚洲AV无码一二区三区在线播放| 国内精品亚洲成av人片| 国产午夜精品福利视频| 国产sm调教折磨视频| 亚洲欧洲一区二区三区久久| 精品国产精品中文字幕| 中文字幕国产精品二区| 人妻少妇88久久中文字幕 | 青草青草视频2免费观看| 日韩av裸体在线播放| 国产九九视频一区二区三区| 99中文字幕精品国产| 精品久久久久久无码中文字幕 |