Komorebi
首页
文章
标签
关于
友链
ZOJ3715 枚举+贪心
题意: 有n个小朋友竞选班长,1想当班长,每个人都必须选择一个人当班长,并且不可以选择自己,并且每个人都有一个权值ai,这个权值就是如果1想让这个人改变主意选择自己当班长就得给他ai个糖果,只有当1的票数是唯一最多的时候,1才能竞选班长,问1竞选班长的最小花费糖果数。(n<=100) 思路: 想了直接贪心但是似乎没有完美的方案,都会有反例。 考虑n<=100比较小,可以枚举+贪心。我第
2018-04-26
题解
HDU5895 矩阵快速幂+欧拉降幂公式
题意: 有g(n)=\sum_{i=0}^nf(i)^2,其中f(0)=0,f(1)=1,f(n)=f(n−2)+2f(n−1)(n≥2),给出n,y,x,s,求x^{g(n*y)}mod(s+1)。 思路: 有递推式: f(n)^2=f(n-2)^2+4f(n-1)^2+4f(n-2)f(n-1)f(n)f(n-1)=f(n-2)f(n-1)+2f(n-1)^2g(n)=g(n-1)+f(n)^
2018-04-24
题解
调试用
计算程序运行时间Windows系统GetTickCount函数 #include<iostream> #include<windows.h> int main() { DWORD start_time=GetTickCount(); { //此处为被测试代码 } DWORD end_time=Ge
2018-04-22
学习
LOJ526 最大独立集
题意: 一个可重集合中包含n个元素 a1,a2,……,an,你需要选择一个子集,使得这个子集中任意两个元素 a_i,a_j均满足条件gcd(ai,aj)*gcd(ai+1,aj+1)≠1,且这个子集的元素个数是所有满足上述条件的子集中最多的。输出这个子集的元素个数。 思路: 挺经典的一道题。 看这道题就可以想到最大团。 最大团就是图的最大的完全子图(每两个点之间都有边相连)。 这里满足 gcd(a
2018-04-20
题解
金马五校赛C 得到目标数字的最小操作数
题意: 给出两个数列a和b(1<=n<=9),通过以下操作使a变成b,求最小操作数。 首先可以交换数列中任意两个数的位置。通过若干次这样的操作得到c。 若c[i]>a[i],则对a[i]乘2或者加1;若c[i]<a[i],则对a[i]除以2或者减1,如果是奇数,则不能除以2。 思路: 考虑到这里的n的范围很小,可以根据全排列来表示出所有c[i]可能的情况。 再算出从a到c所
2018-04-16
题解
CodeForces842D 01Trie
题意:mex为数列中没有出现过的第一个非负整数。给出一个数列,每次询问给出一个x,问每个数异或x后数列的mex。 思路:又是一道知道怎么做但不会写的题… 之前就知道有01字典树来处理异或的这种操作,但一直没有写过,这是第一道01字典树吧… 字典树是高位在上,以保证每次都先满足高位最大。 对于每一次异或,如果这个位是0,就不变,如果是1,就对换左右子树。 这里可以用到一个懒标记,只有用到的时候进行标
2018-04-12
题解
ZOJ3965 由两个dfs序还原二叉树
题意:给出两个二叉树的DFS序列,输出每个结点的父结点编号。 思路:我快要gg了… 知道要怎么做就是不知道怎么写… 真的…菜得一逼…递归都不会写(。 看题解写完就…情绪低落(。 容易知道如果之后一个结点相同,则说明这一定是当前结点的子结点;如果不同,说明这两个都是该结点的子结点,找到这两个结点分别在两个序列里的位置,然后递归下去。 考虑一个栗子: 1 2 4 7 8 9 5 3 6 1 2 5 4
2018-04-10
题解
注意
能之前特判的尽量都先特判。 多组的时候能不memset的就尽量不memset 特别是时限比较紧的时候。 可以用sizeof预先估计内存。 等比数列求和用公式的时候注意要特判公比为1的情况。 有减的时候取模要加上模数,矩阵快速幂里有负数项,最后也要加模数直到为正。 找规律可以预先假设一个式子,然后待定系数。 %f输出是四舍五入的。
2018-04-09
学习
震惊.jpg
记录一下各种之前不知道的point。 std::set::lower_bound与std::lower_bound的效率问题参考博客:https://blog.csdn.net/CZWin32768/article/details/51752267 set用lower_bound要这样用啊:s.lower_bound(x)。 vector可定长vector<int>v(n); 这样写。
2018-04-09
学习
各处看来的姿势
为什么要写这样一篇博文呢? 因为在知乎上看到了一个问题感觉思想有用? 2016 的阶乘(2016!)末尾第一个非零数字是几?传送门:https://www.zhihu.com/question/47569759 不妨令2016!末尾有k个零, 因为2016!因子里2肯定比5多,所以 来数2016!因子5的个数 Notes: 考虑以前做过的一道题,k的阶乘的末尾有几个0,我们知道因子里2肯定
2018-04-07
学习
1
…
10
11
12
13
14
…
23
Search
×
keyword