广工赛-hdu6468构造十叉树】的更多相关文章

是个以前没见过的模板题.. 我用比较复杂度方式过掉了.. 构造一个十叉树(有点trie的味道)来存数字,然后字典序就是先序遍历的结果 #include<bits/stdc++.h> using namespace std; #define maxn 1000005 int size[maxn],k,n,th,ans,flag; void dfs(int i){ if(flag)return; size[i]=; th++; ; //cout<<i<<endl; ){ ;…
递推时把(n+1)^3拆开 构造矩阵即可 #include<bits/stdc++.h> using namespace std; #define ll long long #define mod 123456789 struct Mat{ ll m[][]; Mat(){memset(m,,sizeof m);} }A; ll n,F[]; ]){ ll B[]={}; ;i<;i++) ;j<;j++) B[i]=(B[i]+A.m[i][j]*F[j]%mod)%mod; m…
比较复杂的一题.. 不管是二分答案还是直接做,都需要压缩树链 /* 给定n种怪物,每个怪物有属性a[i] 打死第i种怪物后,第i只怪物会分裂成a[i]个第i-1种怪 如果打死的是第1种,那么获得经验a[1] 现在遇到的是一只第n种怪,有体力w,打死一只怪要一点体力,问最多获得多少经验 直接求比较麻烦,由于答案具有单调性,所以二分答案即可 */ #include<bits/stdc++.h> using namespace std; #define ll long long #define IN…
这道题目在上半年ZOJ模拟上年青岛赛区ACM题的时候就已经出现了.当时我不会写,本来想着赛后补题的最后因为懒惰又没补. 现在这道题又出现了.这是上天对我的惩罚啊!!! 所以这次铁了心也要补这题.然后我就找广工某大佬要了份题解,看得是一脸懵逼啊! 这个图就是算法的核心思想:将其分成9个多叉树,每颗树里面也能继续分.所以如果给出n,k.可以根据n计算每个树的大小,然后通过k跟这些树的大小比较,最后找到目标树,再在这颗树里面找到我们需要的答案. PS:由于刚刚同学反映我写的看不懂,所以又重新写了一遍(…
更多精彩内容 :http://www.chenchuangfeng.com QQ:375061590 --------------------------------------------------------------------------------- 很久有写过一个广工图书馆主页一个类爬虫的demo(因为没接口,只能扒取静态网页),实现一些图书馆系统的一些功能.但最近发现图书馆系统在html页面上做了手脚,一页html页面中嵌入了几千行的注释,并有了自己的App,应该是为了增加扒取…
题目传送门_杭电版 题目传送门_广工版 广工版的是杭电版的加强版. 题意:判断一个质数是否是两个整数的立方差 ---- 数学题 题解: 根据立方差公式:\(a^3 - b^3 = (a - b)(a^2 + ab + b^2)\) 且 p 为质数 所以 \((a - b)(a^2 + ab + b^2)\) 其中任意一括号为 1,另一括号则为 p. 经计算检验(这里就不写啦),得 \((a - b) = 1\),\((a^2 + ab + b^2) = p\) . 因为\((a - b) = 1…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6470 题意:求,直接矩阵快速幂得f(n)即可 构造矩阵如下: n^3是肯定得变换的,用二项式展开来一点点配吧 我们会发现中间6*6的矩阵是个常数矩阵,则可以化为A=B^(N-2)*C(n-2次幂是因为我们求解是从N=3开始的),根据矩阵快速幂算出B^(N-2)次幂即可以了 矩阵快速幂的时间复杂度是logn 注意:我们中间构造的矩阵必须是一个方阵,矩阵快速幂的难点就在于构建中间的方阵 比如矩阵A,B,…
http://gdutcode.sinaapp.com/problem.php?cid=1056&pid=5 Description 有一棵树,树上有只tmk.他在这棵树上生活了很久,对他的构造了如指掌.所以他在树上从来都是走最短路,不会绕路.他还还特别喜欢三角形,所以当他在树上爬来爬去的时候总会在想,如果把刚才爬过的那几根树枝/树干锯下来,能不能从中选三根出来拼成一个三角形呢? Input 第一行输入一个T,表示有多少组样例. 对于每组数据:第一行包含一个整数 N,表示树上节点的个数(从 1…
Preface 这次的题目都是NOI+的题,所以大家的分数都有点惨烈. 依靠T1大力骗分水到Rank2 所以想看正解的话看这里吧 A. 「雅礼NOI2018模拟赛(一) Day1」树 看一眼题目感觉十分不可做,刚开始准备写个状压的 一看数据范围好像是正解了,然而连样例都没有跑过去. 1h之后:完蛋凉凉了,那写个暴力DFS吧 10min之后码完了,想一想能不能多弄点分,这时候ZZ都看出来第一问好做. 于是开始打表,刷第一问的答案时顺便很机智地把第二问的答案也刷了出来. 这个的话直接询问的时候再膜即…
题目传送门 题意:问n位最小能整除47的数字 分析:打表发现前面都是100000...,后两位就是100000%47后到47的距离,就是快速幂求1000000%47的值,47-它就是后两位 #include <bits/stdc++.h> using namespace std; const int A = 47; int pow_mod(int x, int n, int p) { int ret = 1; while (n) { if (n & 1) ret = 1ll * ret…