摘要:
题目链接:https://ac.nowcoder.com/acm/contest/3003/J 思路: 方法① f1(1)=k1+b1=(k1)+(b1) f2(f1(1))=k2∗(f1(1))+b2=k2∗k1+k2∗b1+b2=(k2∗k1)+(k2∗b1+b2) f3(f2(f1(1)))= 阅读全文
摘要:
A-做游戏(思维) ans=min(A,X)+min(B,Y)+min(C,Z) #include<iostream> #include<algorithm> using namespace std; typedef long long ll; ll min(ll a,ll b){ if(a>b) 阅读全文
摘要:
题意: 给一棵树,边权未知,现在给m组约束,每组约束给出从u到v路径中的最小值,现在让你给出一组边权,使得符合之前的约束,不能给出输出-1 思路: 因为n较小,对于每组约束我们可以直接暴力修改路径上的权值,如果边的权值小于当前约束的最小值,则将权值修改,最后再根据每组约束暴力走一遍路径看路径是否满足 阅读全文
摘要:
A. Array with Odd Sum 题意: 给一个数组,你可以无限次将某个位置上的数变成一个其他位置上的数,问是否可以通过操作使该数组的和变成奇数 思路: 如果数组的和原本就为奇数,直接输出YES。否则,如果我们有最少一个奇数与一个偶数的时候也可以 #include<iostream> #i 阅读全文
摘要:
题意: 给一个长度为n的序列,m个询问,每次询问给出一个数字x,问数组中哪个元素与x异或的值最大 思路: 1、我们按照长度为32位的二进制01字符串建树,从高位开始建。将所有数据都建到树中。 2、接下来对于每个查询,同样处理成35位二进制01字符串,对应进行查询,如果当前位子是0,那么尽量往1那边走 阅读全文
摘要:
题意: 给你一堆单词与询问,每次询问给一个字符串s问以s为前缀的字符串有多少 思路: #include<iostream> #include<algorithm> #include<cstring> using namespace std; const int maxn=400009; struct 阅读全文
摘要:
A. Even But Not Even 题意: 定义一个数所有位置的和为偶数它本身不为偶数的数为ebne,现在给你一个数字字符串,你可以删除任意位置上的数字使其变为ebne输出任意改变后的结果,如果不能则输出-1 思路: 比赛的时候分类讨论过的。。。真是愚蠢至极妈的 其实只要看字符串中奇数的个数就 阅读全文
摘要:
A. Display The Number 题意: 告诉你摆出每个数字需要的火柴数,现在给你n跟火柴问能摆出的最大数字是多少 思路: ①当n为奇数:7111.. ②当n为偶数:1111.. #include<iostream> #include<algorithm> #include<cstring 阅读全文
摘要:
题意: 给一棵树,求出每一点到树上其他点的最远距离 思路: ①我们先考虑一个点到其子树中的点的最远距离 定义1.dp[i][0]是以i号节点为跟到其子树的最远距离 2.dp[i][1]是以i号节点为跟到其子树的次远距离(为什么维护这个后面可以知道) 3.son[i]是以i号节点为根的的子树中距离i最 阅读全文
摘要:
题意: 给一棵树,找到三个顶点,使三个顶点两两之间路径的并集最大 思路: 必定会有一组最优解,使得 a,b是树直径上的端点。 证明: 假设某个答案取连接点x。x最远的树到达的点是s,根据树的直径算法,s是树的某个直径a的端点。假设x的最远和第二远的点组成的链是b,b就会和a有一段公共部分。我们取a和 阅读全文