题目链接:http://codeforces.com/contest/765/problem/D 题意:题目中给出你两个公式,g(h(x))==x,h(g(x))==f(x).现给你f(x) 让你求符合条件的g序列和h序列. 题解:一道数学构造题. 很明显从h(g(x))==f(x),g(h(x))==x,(g(h(x)) 1~m)可以得到h(1~m)要取所有f(x)的值 所以m的值就是f(x)中不重复的值. 然后就是h(x)的取值了,由于取值方法太多所以可能是任意取法都行或者有什么约束条件,不…
题目链接:http://codeforces.com/problemset/problem/765/E $DFS子$树进行$DP$ 大概分以下几种情况: 1.为叶子,直接返回. 2.长度不同的路径长度只有一条,显然可以合并成这一条的长度. 3.长度不同的路径长度有两条,并且这个点为根,显然可以合并成这两条的长度和. 4.其他的都不合法. 注意:事实上如果第一次$DP$之后不合法要考虑换根再做一次 #include<iostream> #include<cstdio> #includ…
http://codeforces.com/contest/765/problem/D 这题的化简,不能乱带入,因为复合函数的带入,往往要严格根据他们的定义域的 题目要求出下面两个函数 g[h(x)] = x.这个函数的值域[1, m],定义域[1, n] h[g(x)] = f(x).这个函数的值域[1, n],定义域[1, m] 设任意一个数t.和A.使得g[t] = A,也就是有h[A] = t了. h[A] = h[g(t)] = f(t),那么就是f(t) = t的时候,会使得g[t]…
[题目链接]:http://codeforces.com/contest/765/problem/D [题意] 给你一个函数f(x); 要让你求2个函数g[x]和h[x],使得g[h[x]] = x对1..m成立 h[g[x]] = f[x]对1..n成立; 这里 g[x]:[n]->[m]; h[x]:[m]->[n]; 让你求h[x]的m的值,顺便输出两个函数的各个值 [题解] 这里要对f(x)做文章; 考虑f(x)==x的情况; 这时要想让 g[h[x]] = x对1..m成立 h[g[…
两道C题题解,能推出来公式简直是无敌. http://codeforces.com/problemset/problem/707/C codeforces707C. Pythagorean Triples 这个题就是直角三角形的三条边,给你一条边的长度,让你输出其他两边的长度. 会发现有规律.当数为奇数时,就是平方除以2,然后另一边再加上1就可以. 偶数的时候一直除以2,直到4为止,然后特判就可以,再用一下快速幂就可以了. 代码: #include<iostream> #include<…
题目链接:http://codeforces.com/contest/801/problem/D 题意:求出一个最大值D,使得一个给定的凸多边形任意点移动范围在半径为D的圆中,都不会构成一个凹都边形. 还有给出的多边形的点是按顺时针给出的. 题解:要使的任意点移动都不构成凹多边形,显然只要最极限的移动状态就是相邻的3个点在同一直线上. 于是只要遍历一遍所有的点然后计算出该点到相邻两点构成的直线距离d.D=min(d[i]/2); 所以这题还会用到一个公式点到线的距离 #include <iost…
题意:固定起点是0,给出一个序列表示n个点,所有点都在一条直线上,其中每个元素代表了从起点到这个点所走的距离.已知路过某个点不算到达这个点,则从起点出发,到达所有点的方案有许多种.求所有方案走的总路程/方案数,输出分子.分母,要求不含约数. e.g:n=3 {2,3,5},{2,3,5}{2,5,3}{3,2,5}{3,5,2}{5,2,3}{5,3,2},总路程(5+7+7+8+9+8)=44,答案44/6=22/3,输出“22 3”. 分析: 1.以n=3序列{a1,a2,a3}为例,实际上…
题意:输入a,b,x,y,a,b分别是两人的步数(每a块砖,刷一次),则有一些砖被两人同时刷到了,问[x,y]区间内有多少块砖同时被两人刷到. 分析:就是求[x,y]中有多少个能把a,b的最小公倍数lcm=a*b/gcd(a,b)整除的数字. 求出[x,y]区间上出现的第一个和最后一个满足条件的数字 l,r ,那么答案就是(r-l)/lcm+1. #include<cstdio> #include<cmath> int gcd(int a,int b) { ) return a;…
这次CF不是很难,我这种弱鸡都能在半个小时内连A四道……不过E题没想到还有这种折半+状压枚举+二分的骚操作,后面就挂G了…… A.Local Extrema 题目链接:https://cn.vjudge.net/problem/CodeForces-888A You are given an array a. Some element of this array ai is a local minimum iff it is strictly less than both of its neig…
Souvenirs 题意:给你n个数, m次询问, 对于每次一次询问, 求出询问区间内绝对值差值的最小值. 题解:先按查询的右端点从小到大sort一下,然后对于塞入一个数的时候, 就处理出所有左端点到目前位置的点, 然后查询. 首先对于一个区间 [L,now] 和 另一个区间来说 [l+1,now] 来说, 左边这个区间的ans值一定是 <= 右边这个区间的 ans 值, 因为左边这个区间包含右边这个区间, 所以对于[1,now]这个区间来说,端点值左边的区间里的ans 一定 小于右边的 ans…