HZOJ 随】的更多相关文章

题意 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公 数. 思路: 与先前的那个相比,这次a,c并不一定为一.所以先用的莫比乌斯+容斥定理但是TL 然后发现可以进一步有优化 可以发现8/3 和  8/4都等于2.所以我们可以分段计算,用sum记录mu的和,每次求出a/i的最大位置I,在i至l这段数中,a/i的值都是相同的,便可以每次循环计算出一段数的值,而且当数值越大时,重复越多. #include…
两个子任务真的是坑……考试的时候想到了60分的算法,然而只拿到了20分(各种沙雕错,没救了……). 算法1: 对于测试点1,直接n遍dfs即可求出答案,复杂度O(n^2),然而还是有好多同学跑LCA/最短路…… 期望得分10; 算法2(搬运题解,因为这个我没有想到……): t=1的数据最直接的想法是枚举所有可能的a[]数组判断是否可行.第2个测试点n<=5,1<=a[i]<=20.注意20^5=3200000,直接暴力搜索a[i]的取值是可以承受的,可以通过第2个测试点,期望得分10分,…
先开坑. md原题写挂我也真是... 100+20+10 白夜 打表大法吼 显然,不在环上的点对答案的贡献是 \((k-cycle)^{k-1}\) . 打表得到环上的递推式,矩阵一下乘起来就好了. #include<bits/stdc++.h> using namespace std; #define int long long template <typename Tp> void read(Tp &x){ x=0;char ch=1;int fh; while(ch!…
综述 第一次 rk1 ,激动. 题目是 COCI 18/19 Round #1 的三至五题. 得分 \(100+100+20\) \(\mathrm{cipele}\) 问题描述 HZOJ1313 题解 二分答案+贪心 发现"最大值最小",自然想到二分答案. 对 \(a,b\) 排序,通过一些操作保证 \(a\) 比 \(b\) 短. 如果 \(b_j\) 不能被 \(a_i\) 选择,那么它一定不能被 \(a_k(k>i)\) 选择. 基于这个贪心配对即可. \(\mathrm…
综述 试题为常州集训2019SCDay2 得分\(100+30(0)+28\) 时之终结 问题描述 HZOJ1310 题解 构造题. 发现部分分有一档是 \(Y\) 是 \(2^x\) ,于是自然想到很多个三角形连到一起. 然后正解就是在这个基础上删边. \(\mathrm{Code}\) #include<bits/stdc++.h> using namespace std; #define int long long template <typename Tp> void re…
综述 这次是USACO2019JAN Gold的题目. \(\mathrm{Cow Poetry}\) 题解 因为每句诗的长度一定是\(k\),所以自然而然想到背包. 设\(opt[i][j]\)代表到第\(i\)位时,结尾为\(j\)的方案数. 背包,注意\(\mathrm{DP}\)顺序为先枚举\(i\),后枚举单词.(Debug了一小时就因为这个) 然后乘法原理统计答案即可. \(\mathrm{Code}\) #include<bits/stdc++.h> using namespac…
考试过程: 照例开题,然后觉得三道题都挺难,比昨天难多了(flag×1),T1 dp?T2 数据结构? T3 dp?事实证明我是sb然后决定先搞T2,但是,woc,这题在说什么啊,我怎么看不懂题啊,连样例都手模不出来,完了凉了,然后又看了一个半小时的题,还是没看懂心态爆炸,然后匆匆打了T1T3暴力,还自我感觉良好,觉得这么难的题,拿个150pts左右应该rank10没啥问题叭,然后出分,T1T2A了一片,然后我还暴力挂分,然后在第二机房成功倒数. 反思: 还是思考的太少啊,对题目的难度评估出现很…
T1 字符串: 裸的卡特兰数题,考拉学长讲过的原题,就是bzoj3907网格那题,而且这题更简单,连高精都不用 结论$C_{n+m}^{n}-C_{n+m}^{n+1}$ 考场上10min切掉 #include<bits/stdc++.h> #define int long long ; ; using namespace std; int inv[N],fac[N]; int qpow(int a,int b){ ; while(b){ ) ans=ans*a%mod; b>>=…
达哥T1 实际上还是挺难的,考试时只qj20pts,还qj失败 因为他专门给出了mod的范围,所以我们考虑把mod加入时间复杂度. $50\%$算法: 考虑最暴力的dp,设$f[i][j]$表示进行$i$次操作后得到的数为$j$,方案总数,转移应该还是很明显的 $dp[i][j*k\%mod]=dp[i-1][j]×cnt[k]$,$cnt[k]$表示数k出现的次数. 然后在结合前20ptsqj,就可以愉快的拿到50pts. $100\%$算法: 看题解发现什么原根,矩阵乘,蒟蒻弃疗.... 但…
考试T2,考试时想到了40pts解法,即对于求b数组,随便瞎搞一下就oxxk,求a的话,很明显的高斯消元,但考试时不会打+没开double挂成10pts(我真sb),感觉考试策略还是不够成熟,而且感觉考试时间很不够用,一直在瞎yy+code,听讲题DeepinC 12min就打出了T150pts,这不仅是思维上的劣势,而且打代码的速度必须要加上来啊,不然就算有好想法也打不出来(也没啥好想法). 接下来就是正经八本的题解了: 首先我们可以来一波玄学复杂度分析,数据范围1e5,要么$O(nlogn)…