The main topic: a tree (not necessarily a two-fork tree!!) ), the tree has an apple on its node and requires the following:1. Specify a node, if the node originally has an apple to take it, if there is no Apple then fill in an apple2. Ask a node and its subtree how many apples there areIdea: Dfs this tree, recorded the first time to reach the node and the time to walk away, so a node becomes an interval, the left and right endpoints are the beginning
guarantee is C Sample Input
2 1 #... #4 4... #-1-1
Sample output
21Ideas:I started to see that the question board game thought it was the biggest match in Hungary, and finally found that it was not the biggest match, but it was the number of matching paths for you. How many possibilities are required,This is the first thought of DFS. You know, the idea is definitely about brute-force solutions at the beginning. Of course, this question has a sm
huge, use faster I/O methods.
IfSIs a string then| S |Denotes the lengthS
After creating the dictionary tree and fail pointer, go through the main string on the tree. Note that you only need to go through the tree linearly without using fail.
Then create a graph:
The Fail point of each vertex creates an edge for this vertex. If a vertex has been accessed, its fail and fail... All accesses, so after creating the graph, you can directly go through
Question:
DescriptionSplit an 8*8 checker as follows: Cut the original checker down a rectangle checker and make the remaining part as a rectangle. Then, split the remaining part so that (n-1) is cut) after that, there are n rectangular checks in total with the remaining rectangular checkerboard. (Each cut can only be performed along the edges of the checker lattice)
Each grid on the original Board has a score. The total score of a rectangle board is the sum of the scores of each grid. Now we ne
Given a Binary Tree Containing digits from0-9Only, each root-to-leaf path cocould represent a number.
An example is the root-to-leaf path1->2->3Which represents the number123.
Find the total sum of all root-to-leaf numbers.
For example,
1 / 2 3
The root-to-leaf path1->2Represents the number12.The root-to-leaf path1->3Represents the number13.
Return the sum = 12 + 13 =25.
Starting from the root node, the concept of DFS is actually postorder
Depth first (DFS) template 1:
Void DFS (int K) // process step K{If (k = N) // step N has been processed to reach the destination statusOutput resultElse // process step KFor (INT I = 1; I {Process step KDFS (k + 1); // enter step k + 1}}
Example 1: Multi-Arrangement
In the output, all multiple orders of N numbers are obtained from 1-M numbers. For example, n = 2 and M = 3 are arranged in multiple ways:1
# Include
// 2367513 2010-04-21 20:22:34 accepted 1241 15 ms 340 K 992 B C ++ regret
Using namespace STD;
Char map [105] [105];
Int dir [8] [2] = {0, 1}, {0,-1}, {1, 0}, {-1, 0}, {1, 1 },{ 1,-1 },{-1, 1 },{-1,-1 }};
Int M, N; // an error occurred at the beginning.
Void DFS (int x, int y){Int I;// If (x = M | Y> = N)// Return;For (I = 0; I = M | Y + dir [I] [1] = N)Continue;If (Map [x + dir [I] [0] [Y + dir [I] [1] = '*')Continue;// If (Map [
This problem did not find a circuit, so can not be used with 11,521 array storage after output. I used the method is DFS plus pruning, the direct DFS search will time out, the optimization method is in the search is a priority to get out of the small path, such as move1 and Move2 can walk, but as the move1 after the next step there are 7 ways to walk, and go after the move2 there are 2 ways to go, Then we
Test instructionsis the digital Hamiltonian circuit.Analytical:is even ... You can not use DFS directly, you have to manually open the stack to simulate DFSEmm ... Look at the boss half a day to see smattering#include #include#include#include#include#include#includeSet>#include#include#include#include#include#include#defineRap (i, A, n) for (int i=a; i#defineRep (I, A, n) for (int i=a; i#defineLap (I, a, n) for (int i=n; i>=a; i--)#defineLEP (i, A, n)
Test instructions: A graph with n points m-bars, the number of clusters of which the ball is composed of s points. A regiment is a complete sub-graph.There is no good way, only violence deep search, but here is a magical operation: the non-direction diagram into a graph: when the two-point number uThen the question is how to search, consider such a situation, v1,v2...vn constitute a complete picture, and V0 and V1 connected with a forward edge. That's not going to happen. 1: Starting from V0
Topic linksVery simple DFS, beginner DFS to do this problem is very appropriate. It is important to note that the row and column order entered in the topic is reversed.1#include 2#include 3 using namespacestd;4 intm,n,cnt,dir[4][2]={{0,1},{0,-1},{-1,0},{1,0}};5 Chara[ A][ A];6 voidDfsintSiintSJ)7 {8a[si][sj]='#';9cnt++;Ten intSx,sy; One for(intI=0;i4; i++) A { -sx=si+dir[i][0]; -sy=sj+dir[i][1]
, you can output any one.If you can find a simple odd ring, the first line of output ring length K, the second line of output K integer represents the ring on the node number (1≤yi≤n), you need to ensure that Yi and yi+1 have an edge between the Y1 and the yn. If you have a variety of legal options, you can output any one.If both cases are feasible, you only need to output any one of these.If both cases are not feasible, output one line, an integer-1. Input 3 21 21 3 Output 00 1 1 Input 3 31 21
Title Link: Counting cliquesTest instructions: A graph with n points m-bars, the number of clusters of which the ball is composed of s points. A regiment is a complete sub-graph.The problem: Get this question to think for a long time. I didn't expect Dfs to be finished. On the DFS, a retrospective on the OK, the bronze question.#include #include#include#include#include#include#include#includeSet>#include#in
/* I feel that my practice is very troublesome. One can only store +-symbol arrays, one can store all operators in the queue, and the other one.Queue storage operations (such as 1011, 10.11 )). And then brute force search... *//* My code: 297 Ms */# Include # Include # Include Using namespace STD;Const int n = 50;Char opr2 [N];Char OPR [N];Int OPN [N];Int CNT, N;Void DFS (int p, int P2, int M, int sum, int t ){Int I, j, tsum;If (sum = 0 t = N ){If
Codeforces 463E Caisa and Tree dfs + decomposition quality factor
Question link: Click the open link
Question:
Gave a tree
Each vertex has a permission
Operation 1: 1 u indicates asking gcd (Valueof (u), Valueof (v ))! The point with the largest depth among all vertices of 1
[V is path (u, root); v! = U]
Operation 2: 2 u w modify point permission
Ideas:
Because the number of operation 2 does not exceed 50, all the answers are pre-processed after ea
YuanApparently 1à2 repeated the trip, the aim is to reach the City 4 first, so that the cost of 2à3 This section of the road from 100 to 10 yuan.Seeing a lot of students here seems to be suddenly, but the problem is coming again. If the same road is allowed to repeat, then it can not be marked, but once not marked, lost the search constraints, DFS can not end, not into a dead loop?I just said that the idea of "half, Wrong half", "yes" is the "repeat
and odd numbersn,m , and an integer sum (−sumten , divisor 0 is isn't legitimate, division rules see example)In the next Nlines, each line inputmCharacters, indicating the matrix. (The number of numbers in the matrix was less than )1≤T≤ Outputprint Possible If it is Possible to find such an expressions.Print Impossible if it is impossible to find such an expressions.Sample Input33 3 241*1+#*2*81 1 113 3 31*0/#*2*6Sample outputpossiblepossiblepossibleHintThe first sample:1+2*8=2
C-sum It up POJ1564Test instructionsGive you a n, and then give you a bunch of numbers the numbers in every list appear in nonincreasing order, and there could be repetitions., so you find some numbers in this logarithm, if they're and sum= =n, the output is based on the number of formats in the sample.Ideas:That is Dfs Bai, deep search a wave, when the sum==n output, here is the elimination of repetitive pruning. Why is it?#include #include #include
starting with X forThe given positive integer n. Products and quotients appearinginchThe sequence should is x to a positive integer ' s power. In others words, x−3, forExample, should never appear.Input is is + is indicated by a zero.Output for inch as leading or trailing spaces.Sample Input1 to - the 473 + 811 953 0Sample Output0 6 8 9 One 9 - ASourceJapan 2006Find out how many steps you can take with multiplication and division to get X^nIn fact, the answer is up to 13, but since t
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.