Codeforces - 1305C 同余 + 鸽巢原理 and Codeforces - 982C 树上dfs

<Codeforces - 1305C> 同余 + 鸽巢原理

http://codeforces.com/problemset/problem/1305/C

题意:

给定n个数,n个数两两做差取绝对值,所有差的绝对值做累乘,再对m取模,求这个模的值。

思路:

如果n > m,则n个数中必有至少两个数对m同余,模就是0,如果n < m,m又是1e3范围内的,直接暴力即可。

AC代码:

 

<Codeforces - 982C> 树上dfs

http://codeforces.com/contest/982/problem/C

题意:

给你一棵n个结点的树,问最多删除多少条边,使得每个点的强连通分量都为偶数,不可能满足条件时输出-1。

思路:

推一下样例,就会发现只有该结点子树个数为偶数时(根结点除外),才可删除它的上一条边。如果结点数为奇数,那么删除边以后必然产生孤立点,输出-1。结点数为偶数时,进行树上dfs,找出子树个数为偶数的结点。然后下面的图解释了树上dfs以及回溯机制:

        

         

AC代码:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章