<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代码: