Problem 3: Bovine Alliance [Mark Gordon, 2011]Bessie and her bovine pa dịch - Problem 3: Bovine Alliance [Mark Gordon, 2011]Bessie and her bovine pa Việt làm thế nào để nói

Problem 3: Bovine Alliance [Mark Go

Problem 3: Bovine Alliance [Mark Gordon, 2011]
Bessie and her bovine pals from nearby farms have finally decided that they are going to start connecting their farms together by trails in an effort to form an alliance against the farmers. The cows in each of the N (1 > u >> v; u--; v--;
E[u].push_back(v);
E[v].push_back(u);
}

int result = 1;
for(int i = 0; i < N; i++) {
if(vis[i] || E[i].empty()) continue;

pair res = dfs(i);
if(res.second % 2) cerr
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Vấn đề 3: Bò Alliance [Mark Gordon, 2011]Bessie và cô pals bò từ trang trại gần đó cuối cùng đã quyết định rằng họ sẽ bắt đầu kết nối trang trại của họ với nhau bằng những con đường mòn trong một nỗ lực để thành lập một liên minh chống lại những người nông dân. Những con bò trong mỗi N (1 < = N < = 100.000) trang trại đã được hướng dẫn ban đầu để xây dựng một đường mòn chính xác một trang trại khác, tổng cộng là những con đường mòn N. Tuy nhiên tháng vào dự án chỉ M (1 < = M < N) của những con đường mòn đã thực sự được chế tạo.Tranh luận giữa các trang trại mà trang trại đã xây dựng một đường mòn bây giờ đe dọa để tách rời nhau liên minh con bò. Để giảm bớt căng thẳng, Bessie mong muốn để tính toán bao nhiêu cách M những con đường mòn mà tồn tại cho đến nay có thể đã được chế tạo. Ví dụ, nếu có một đường mòn kết nối nông trại 3 và 4, sau đó một khả năng là trang trại đó 3 chiếc đường mòn, và khả năng khác là trang trại đó 4 xây dựng đường mòn. Giúp đỡ Bessie bằng cách tính toán số lượng các bài tập khác nhau của con đường mòn để các trang trại xây dựng, theo modulo 1,000,000,007. Hai bài tập được coi là khác nhau nếu có ít nhất một con đường được xây dựng bởi một nông trại khác nhau trong mỗi lần chuyển nhượng.Vấn ĐỀ TÊN: liên minhĐỊNH DẠNG ĐẦU VÀO:* Dòng 1: Hai ngăn cách không gian số nguyên N và M* Dòng 2..1 + M: Dòng i + 1 Mô tả các đường mòn ith. Mỗi dòng có chứa hai số nguyên không gian tách ra u_i và v_i (1 < = u_i, v_i < = N, u_i! = v_i) Mô tả các cặp của các trang trại kết nối bằng đường mòn.SAMPLE INPUT (file alliance.in):5 41 23 24 54 5INPUT DETAILS:Note that there can be two trails between the same pair of farms.OUTPUT FORMAT:* Line 1: A single line containing the number of assignments of trails to farms, taken modulo 1,000,000,007. If no assignment satisfies the above conditions output 0.SAMPLE OUTPUT (file alliance.out):6OUTPUT DETAILS:There are 6 possible assignments. Letting {a,b,c,d} mean that farm 1builds trail a, farm 2 builds trail b, farm 3 builds trail c, and farm 4builds trail d, the assignments are:{2, 3, 4, 5}{2, 3, 5, 4}{1, 3, 4, 5}{1, 3, 5, 4}{1, 2, 4, 5}{1, 2, 5, 4} SolutionSolution Notes (Neal Wu): Let us say that an edge points to a vertex if that vertex was responsible for building the edge. We would like to know how many assignments there are such that each edge points to some vertex, and each vertex has at most one edge pointing to it.Our first observation is that we can solve the problem for each connected component and then multiply the answers together since the components are independent. Now let us assume a connected component has n vertices. We have three different cases for the number of edges:• The component has n - 1 edges. Then it is a tree, and only one vertex will not have any edge pointing to it. However this vertex can be any of the vertices; to see this, root the tree at the vertex. Then every edge must point down toward its child. Thus the number of assignments is n.• Các thành phần có n cạnh. Sau đó nó có dạng của một chu kỳ (ít nhất hai đỉnh) nơi mỗi chu kỳ đỉnh là gốc rễ của một cây. Trong trường hợp này mỗi cạnh trong một cây phải trỏ xuống đối với trẻ em của nó, trong khi cạnh chu kỳ có thể chỉ hai cách khác nhau - chiều kim đồng hồ hoặc ngược. Do đó số lượng các bài tập là 2.• Các thành phần có hơn cạnh n. Sau đó, câu trả lời là 0 kể từ khi một số đỉnh sẽ có nhiều hơn một cạnh trỏ đến nó. Tuy nhiên, do các từ ngữ của vấn đề, giám đốc cuộc thi quyết định không bao gồm bất kỳ trường hợp thử nghiệm trong các thiết lập dữ liệu cuối cùng.Giải pháp của chúng tôi là chỉ đơn giản là một DFS để tìm và phân loại mỗi thành phần liên thông, như trong các dưới đây thực hiện vấn đề tác giả Mark Gordon:#include #include #include #include bằng cách sử dụng không gian tên std;#define MOD 1000000007#define MAXM 100000bool vis [MAXM];vector E [MAXM];Cặp DFS(int x) {} if(vis[x]) trở lại make_pair (0, 0); Vis [x] = true; Cặp RET (1, E[x].size()); cho (int i = 0; i < E[x].size(); i ++) {} Cặp res = dfs(E[x][i]); RET.First = res.first; RET.Second = res.second; } trở lại ret;}int main() {} freopen ("alliance.in", "r", stdin); freopen ("alliance.out", "w", stdout); int N, M; cin >> N >> M; cho (int i = 0; i < M; i ++) {} int u, v; cin >> u >> v; u; v; E[u].push_back(v); E[v].push_back(u); } kết quả int = 1; cho (int i = 0; i < N; i ++) {} Nếu (vis [i] || E[i].empty()) tiếp tục; Cặp res = dfs(i); Nếu (res.second % 2) cerr << "Vấn ĐỀ" << endl; Res.Second / = 2; Nếu (res.first == res.second + 1) {} kết quả = (1ll * quả * res.first) % MOD; } khác if(res.first == res.second) {} kết quả = (2 * quả) % MOD; } {} khác kết quả = 0; } } cout << quả << endl;}
đang được dịch, vui lòng đợi..
Kết quả (Việt) 3:[Sao chép]
Sao chép!
Vấn đề 3: bò liên minh [Mark W. Gordon, 2011]Bessie và con bò từ gần các nông trại cuối cùng đã quyết định bắt đầu kết nối nông trại cùng nhau nỗ lực thành lập một liên minh với người nông dân mòn.Ở mỗi một n (1 = 100.000) ban đầu được xây dựng trang trại bò sữa chỉ dẫn đến một đầu mối khác hoàn toàn. Một trang trại, tổng cộng có n đường mòn.Tuy nhiên, vài tháng tới dự án chỉ có m (1 μ m. Những con đường) thực ra đã được xây dựng.Nông trại của cuộc tranh cãi giữa đã tạo ra một mối đe dọa sẽ chia liên minh, bây giờ con bò.Để làm giảm bớt căng thẳng, Bessie ước tính bao nhiêu cách m chung, cho tới nay đã được xây dựng.Ví dụ, nếu có một mối liên kết nông trại 3 và 4, có một khả năng là 3, nông trại xây dựng mối, một khả năng khác là trang trại 4, xây dựng các manh mối.Bessie đi qua con đường khác giúp tính toán số nhiệm vụ xây dựng mô hình trang trại, 1000000007.Hai nhiệm vụ được coi là khác nhau, nếu có ít nhất một nông trại khác nhau ở mọi phân phối bởi một manh mối.Vấn đề tên: Liên minh.Nhập định dạng:* 1 dòng: hai không gian tách một số nguyên n và m.* Line 2. 1 m + 1: tôi giới thiệu và theo dõi.Mỗi dòng có chứa hai số nguyên u_i và v_i (1 ≤ u_i, v_i < = n, u_i!= = = = v_i) được mô tả bởi chung kết nối nông trại với.(mẫu hồ sơ nhập liên minh):5... 4...1. 2.3 24. 54. 5Nhập thông tin chi tiết:Xin hãy chú ý, có thể có hai người trong cùng một trang trại, giữa đường.Định dạng xuất:* 1 dòng: một số nhiệm vụ phân chứa đường một chiềuNông trại, lấy khuôn 1000000007.Nếu không có phân phốiThỏa mãn điều kiện trên, sản lượng 0.Mẫu (tập tin xuất liên minh):6.Đầu ra chi tiết:Có 6 loài được phân phối.- [A, B, C, D} có nghĩa là trang trại 1.Xây dựng theo một trang trại 2 xây dựng theo b, nông trại 3 thiết lập mối C, và nông trại 4.Xây dựng theo D, nhiệm vụ là:[2, 3, 4, 5}[2, 3, 5, 4}{1, 3, 4, 5}{1, 3, 5, 4}{1, 2, 4, 5}{1, 2, 5, 4} Giải phápGiải pháp chú thích (Neal Wu): Hãy nói, một điểm đến bờ vực một đỉnh, nếu đó là người chịu trách nhiệm xây dựng góc cạnh.Chúng tôi muốn biết có bao nhiêu có nhiệm vụ như vậy, mỗi cạnh tới một đỉnh, mỗi đỉnh có nhiều lắm là một nhánh dẫn tới nó.Quan sát đầu tiên của chúng ta là, chúng ta có thể giải quyết vấn đề này một kết nối mọi thành phần, sau đó nhân với câu trả lời, bởi vì các thành phần độc lập.Bây giờ chúng ta giả sử một kết nối với một thành phần có n đỉnh.Chúng ta có 3 loại là trường hợp số cạnh:- nên các thành phần có n - 1 bên.Sau đó nó là một cái cây, chỉ có một đỉnh không có bất cứ Edge vào nó.Tuy nhiên, điều này có thể là bất kỳ đỉnh cao, nhìn thấy cái này, ở đỉnh của cây.Sau đó, mỗi cạnh phải chỉ ra con của nó.Do đó, số lượng bài tập là n.Nên các thành phần có n một bên.Sau đó nó đưa ra một chu kỳ form (ít nhất có hai đỉnh), trong đó mỗi chu kỳ đỉnh là một cây gậy.Trong trường hợp này, một cái cây trong mỗi cạnh phải chỉ ra con của nó, và chu kỳ cạnh có thể hơi theo 2 cách khác nhau - theo chiều kim đồng hồ hay hướng ngược chiều kim đồng hồ.Vì vậy số lượng bài tập là 2.Nên các thành phần có hơn n một bên.Sau đó, câu trả lời là 0, vì ít hơn. Sẽ có nhiều hơn một cạnh vào nó.Tuy nhiên, vì những vấn đề của cuộc thi diễn đạt, Giám đốc quyết định không bao gồm bất kỳ kiểm tra cuối cùng của use case trong bộ dữ liệu.Chúng tôi là giải pháp đơn giản chỉ là một DFS phát hiện và phân loại, mỗi kết nối các thành phần, như vấn đề tác giả · thực hiện dưới đây:# chứa iostream > <# bao gồm cả vector < ># < > bao gồm chuỗi# bao gồm cstdio > <Sử dụng không gian tên;# 1000000007 định nghĩa khuôn.Định nghĩa # máu 100.000Bourg visible [máu];Vector < > E [cái máu];Với cái DFS (> <, cái cái X) {Nếu (visible [X]) trở về make_pair (0, 0);Visible [x] = thật;Cái đúng cái > <, Ret (1, e [x]. Size ());(cái cho i = 0; i < E [x]. Size (); i++) {Cái đúng cái > <, cả cho DFS (E [x] [tôi]);Ret.first + = res.first;Ret.second + = res.second;]Trở về;]Cái Main () {Fprintf ("Alliance", "R", nhập);Fprintf ("Alliance", "w", stdout);Cái n, m;→ → m n viện tư liệu phim;(cái cho i = 0; i < mét; i++) {Cái u, V; → → viện tư liệu phim U V; u, V;E [Anh]. Push_back (V);E [V] push_back (U);]Cái kết quả = 1;(cái cho i = 0; i < n; i++) {Nếu (visible [tôi] | | e [tôi]. Empty ()) tiếp tục;Cái đúng cái > <, cả cho DFS (Tôi);Nếu (res.second% 2) cerr < "vấn đề" < Endl.Res.second / = 2;Nếu (res.first = = res.second + 1) {Kết quả = (111 *. * * * * res.first)% chỉnh sửa;] else if (res.first = = res.second) {Kết quả = (2 * Kết quả) Bộ Quốc phòng;Other []Kết quả = 0;]]Kết quả Cout < < Endl.]
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2025 I Love Translation. All reserved.

E-mail: