国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

G. Rudolf and CodeVid-23 codeforces1846G

這篇具有很好參考價值的文章主要介紹了G. Rudolf and CodeVid-23 codeforces1846G。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Problem - G - Codeforces

題目大意:給出一長度為n的二進制字符串s,和m對二進制字符串e1和e2,,費用為d,s和一對字符串操作后s中是1且e1中也是1的位置會變成0,s中是0,e2中是1的位置會變成1,得到新的s,每對字符串可以操作任意次,問能否使s變成全0字符串

1<=n<=10;1<=m<=1000;1<=d<=1000

思路:可以發(fā)現(xiàn)s和一對字符串操作,就相當于s&(~e1)|e2(可以用真值表推導),因為字符串的位數(shù)最高是10位,也就是說無論怎么操作,最多出現(xiàn)1024個不同的字符串,所以我們可以把每個不同的字符串當做一個節(jié)點,先用bitset把字符串都轉化為數(shù)字,然后每一對字符串作為邊,用set來做bfs的隊列,從起點開始,將set中的每個點都用上面的到的公式與每對字符串進行操作,如果到新的的距離小于之前記錄的距離,就更新這個最短距離,最后隊列為空后輸出到0點的距離即可

//#include<__msvc_all_public_headers.hpp>
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e3 + 5;
ll n, m;
pair<ll, pair<ll, ll>>e[N];
ll dis[5000];
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int t;
	cin >> t;
	while (t--)
	{
		cin >> n >> m;
		bitset<10>sx;
		cin >> sx;
		ll s = sx.to_ullong();//將二進制字符串轉化為long long型數(shù)據(jù)
		for (int i = 1; i <= m; i++)
		{
			ll dx;
			bitset<10>ux, vx;
			cin >> dx >> ux >> vx;
			ll u = ux.to_ullong();
			ll v = vx.to_ullong();
			e[i].first = dx;
			e[i].second = make_pair(u, v);//記錄每對字符串的費用,和e1,e2對應的數(shù)字
		}
		for (int i = 0; i <= (1 << (n + 1)); i++)
		{//初始化每個點到起點的距離
			dis[i] = 0x7fffffff;
		}
		dis[s] = 0;
		set<pair<ll, ll>>q = { make_pair(0, s) };//用集合記錄創(chuàng)造出的點,及到其的最短距離,避免重復
		while (!q.empty())
		{
			pair <ll, ll> temp = *q.begin();
			q.erase(q.begin());//set彈出堆頂元素的方法
			ll d = temp.first;
			ll u = temp.second;
			for (int i = 1; i <= m; i++)
			{
				ll v = u & (~e[i].second.first) | e[i].second.second;//得到新的點
				if (dis[v] > d + e[i].first)
				{
					q.erase(make_pair(dis[v], v));//更新距離要把原先記錄的刪掉
					dis[v] = d + e[i].first;
					q.insert(make_pair(dis[v], v));
				}
			}
		}
		if (dis[0] == 0x7fffffff)
		{//到終點的距離沒更新,就是沒通路
			cout << -1 << endl;
		}
		else
		{
			cout <<dis[0] << endl;
		}
	}
	return 0;
}

? 文章來源地址http://www.zghlxwxcb.cn/news/detail-548640.html

?

到了這里,關于G. Rudolf and CodeVid-23 codeforces1846G的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 圖論做題筆記:bfs

    題目: 基因序列可以表示為一條由 8 個字符組成的字符串,其中每個字符都是? \\\'A\\\' 、 \\\'C\\\' 、 \\\'G\\\' ?和? \\\'T\\\' ?之一。 假設我們需要調查從基因序列? start ?變?yōu)? end ?所發(fā)生的基因變化。一次基因變化就意味著這個基因序列中的一個字符發(fā)生了變化。 例如, \\\"AACCGGTT\\\" -- \\\"AACCGGTA

    2024年04月09日
    瀏覽(35)
  • 圖論島嶼問題DFS+BFS

    leetcode 200 島嶼問題 BFS代碼

    2024年02月09日
    瀏覽(26)
  • 【圖論】BFS中的最短路模型

    【圖論】BFS中的最短路模型

    算法提高課筆記 BFS可以解決邊權為1的最短路問題,下面是相關例題 將源點在開始時存進隊列 原題鏈接 給定一個 n×n 的二維數(shù)組,如下所示: 它表示一個迷宮,其中的1表示墻壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求編程序找出從左上角到右下角的最

    2024年02月14日
    瀏覽(20)
  • 圖論之dfs與bfs的練習

    圖論之dfs與bfs的練習

    dfs--深度優(yōu)選搜索 bfs--廣度優(yōu)先搜索 迷宮問題--dfs 問題: 給定一個n*m的二維迷宮數(shù)組其中S是起點,T是終點,*是墻壁(無法通過), .是道路 問從起點S出發(fā)沿著上下左右四個方向走,能否走到T點?能輸出\\\"YES\\\",否則輸出\\\"NO\\\"。 8 8 *****... *.S...** *****.** *****..* *T..**.* .**.**.* ..*...

    2024年02月20日
    瀏覽(17)
  • 搜索與圖論第二期 BFS

    搜索與圖論第二期 BFS

    BFS是從根節(jié)點開始,沿著樹(圖)的寬度遍歷樹(圖)的節(jié)點。 如果所有節(jié)點均被訪問,則算法中止。 BFS同樣屬于盲目搜索。 一般用隊列數(shù)據(jù)結構來輔助實現(xiàn)BFS算法。 1首先將根節(jié)點放入隊列中。 2從隊列中取出第一個節(jié)點,并檢驗它是否為目標。如果找到目標,則結束搜尋并回

    2024年01月21日
    瀏覽(18)
  • U4_1:圖論之DFS/BFS/TS/Scc

    U4_1:圖論之DFS/BFS/TS/Scc

    由點(vertices)和邊(edges)組成 G = ( V , E ) G=(V,E) G = ( V , E ) , ∣ V ∣ = n |V|=n ∣ V ∣ = n , ∣ E ∣ = m |E|=m ∣ E ∣ = m (這里默認有向圖,無向圖用 G G G = = = { V V V , E E E }表示 頂點的度是關聯(lián)在其上的邊的數(shù)量。滿足 ∑ d e g r e e ( v ) = 2 ∣ E ∣ sum degree(v)=2|E| ∑ d e g ree ( v ) = 2∣

    2024年02月05日
    瀏覽(28)
  • 紅與黑(bfs + dfs 解法)(算法圖論基礎入門)

    獻給阿爾吉儂的花束( 入門級bfs查找 + 模版解讀 + 錯誤示范 在之前的博客當中,詳細地介紹了這類題目的解法,今天為大家?guī)硪坏李愃频念}目練練手,后續(xù)還會更新更有挑戰(zhàn)的題目以及更為詳細的解析,喜歡的小伙伴可以點個關注啦! 有一間長方形的房子,地上鋪了紅色、

    2024年01月20日
    瀏覽(55)
  • 【寸鐵的刷題筆記】樹、回溯、圖論、bfs、dfs(四)

    大家好 我是寸鐵?? 金三銀四 , 圖論基礎 、 回溯 結合 bfs 、 dfs 是必考的知識點? 快跟著寸鐵刷起來!面試順利上岸?? 喜歡的小伙伴可以點點關注 ?? ??詳見如下專欄?? ?????? 寸鐵的刷題筆記 ?????? 考點 dfs、回溯 代碼 考點 dfs、回溯 代碼 考點 bfs、寬度搜索、哈

    2024年03月11日
    瀏覽(18)
  • 【LeetCode 熱題 100】圖論 專題(bfs,拓撲排序,Trie樹 字典樹)

    from: https://leetcode.cn/studyplan/top-100-liked/ bfs 具有 邊權為1 的最短路性質 拓撲排序,入度 Trie樹, 高效存儲 字符串【見鬼,不知道為什么寫錯,需要掌握熟練度】 dfs 寫法,比較簡潔 bfs 寫法,有最短路性質 bfs 具有 邊權為1 的最短路性質 拓撲排序 模板題 數(shù)組寫法,簡潔,需

    2024年02月13日
    瀏覽(23)
  • 【算法基礎:搜索與圖論】3.2 樹與圖的dfs和bfs

    【算法基礎:搜索與圖論】3.2 樹與圖的dfs和bfs

    要學會建樹、建圖的通用方法。 dfs 和 bfs 的代碼框架。 https://www.acwing.com/problem/content/848/ 在 dfs 的過程中,統(tǒng)計各個節(jié)點作為斷點時的連通塊最大值。 https://www.acwing.com/problem/content/849/ 看到最短距離就可以想到使用寬搜。 注意! :題目中說明了 a 和 b 表示存在一條從 a 走到

    2024年02月16日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包