随笔分类 - 奇技淫巧
摘要:题链 构造法,让其sort后统统向后移一位,最小的变最大,再映射回去。 正确性,我们考虑变大的那一个(其他都变小,不取这个不可能),若是相等,必然要全取,得证。
阅读全文
摘要:题链 对每个k值判是否成环。 正确性基于拟阵的性质(那个k开头的算法的正确性)。
阅读全文
摘要:1.assert(),ACM赛制,不在意罚时的话,这是神器。(博链) 2.杜教筛和洲阁筛可以用以下过程维护中间过程(单个): 3.cerr ,这个应该和 assert 差不多吧,都是奇技淫巧。 4.debug 时 #define deg printf,调试很方便。 5.volatile 乱序优化。
阅读全文
摘要:题链 脑洞题,我们发现要算的最多60位,后面一定是1. 随手打了这样的暴力,以为能A,结果T,查了下,pow,exp,log,用的是泰勒展开一直以为是表 那么预处理加二分
阅读全文
摘要:题链(由于愚人赛,题面在N,数据规模5e5,LL) 在此资瓷syh dalao,本来以为这道题是可持久化主席树套分块套树状数组(这和暴力差不了多少) 原来wqs 二分可以不基于DP。只要满足单调即可。(话说凹凸函数似乎也可以。) 在那里想了半天的N^2 DP,我还是太菜。 我们二分附加权W,然后我们
阅读全文
摘要:题链 我们发现LOJ是非常快的。 非常快 非常快 非常快 非常快 非常快 那么我们怎么能放弃写暴力的机会呢? O(N^5)的暴力,我们要相信LOJ。(我宁愿相信BZOJ) bitset位运算优化,01表示有无(最近怎么一直碰到,Atcoder,codeforce最近的比赛也有这样的题目)
阅读全文
摘要:原题链接 题目大意: 给你一个序列,要求维护两种操作: 1,l,r,x: 在l到r这个区间将所有 值大于X的数减X 2, l,r,x 在l到r这个区间统计值等于X的数的个数。 N(序列长度<=10^5),max(a)(序列中的最大值<=10^5). 一道神题。 我们首先应该想到用数据结构优化,但是标
阅读全文
摘要:我们发现我们要维护一个单调栈,我们可以采取以下策略: 我们始终维护其满足单调性。 我们发现一个位置最多可以更新c次。所以我们要C*n次。 但是我们发现这玩意有两头: 我们同时维护2个单调栈就可以了。 我们每次拿进来一个数,如果其小于c/2,将其扔右边,若大于c/2,扔左边就好了。 我们可以证明其小于
阅读全文
摘要:题目大意:老师要排座位,要求每个人的四周的邻居不是原来的,求方案 题目链接 SOL :min(n,m)<4 就暴搜,否则就构造。
阅读全文
摘要:一道英语阅读理解,满满的都是套路,欺负我英文不好(自己去翻译吧,我就不写中文了) 原题链接 我们模拟一遍就好了,如果"!"把句子中没出现的字母排除,"."就排除句子里出现的。 注意答案是从已知那个字母开始统计的。 #include<bits/stdc++.h> using namespace std
阅读全文
摘要:A: 我们发现2^n增长很快,n>30时便没有贡献了。 B 我们dfs一边就好了。 C : 我们采取贪心的策略,我们先用A[i]去更新其后面的数据: 举个例子 a[1]=10 ,a[2]=100,那么我们发现a[2]永远比a[1] 劣,那么我们用a[1]的两倍更新a[2]. 我们再从高位向下做,我们
阅读全文
摘要:题目大意: 多组数据,给你一张真值表,求字典序最小的表达式。(真值表只有3个变量x,y,z) 我们发现答案不会很长,而且我们只有 256 种不同的输入,那么我们就可以打表。 我们怎么打表呢?我们发现答案不会很长,那么我们搜索表达式至len为20位,再加上最优性剪枝。跑个3min就出来了。 (看起来有
阅读全文
摘要:题目大意: 给你X门学科,每一门学科有两个参数,ti和·ai,我们想通过一门学科只有满足以下2个条件: 1.其尝试考试的simga ti <=T; 2.其尝试考试的次数<=ai 求最多通过的学科数,并输出方案。 SOL: 我们发现如果我们有考试却没有通过,我们还不如不考。 我们又发现其满足二分性质。
阅读全文
摘要:SOL: 这是最难的一道题。我一脸蒙蔽。 首先我们发现正面做这道题很难。那么我们求答案的补集。 我们把图缩点后,若其为点数大于1的DAG,那么我们就认为其不合法。 利用容斥原理,DAG图的特征是有至少一个入度为0的点并且这个图不止一个点(这里及以下所说的点都是指求强连通后的 点),就根据这个进行容斥
阅读全文
摘要:玛里苟斯[清华集训2014 Day1] 魔法之龙玛里苟斯最近在为加基森拍卖师的削弱而感到伤心,于是他想了一道数学题。 S 是一个可重集合,S={a1,a2,…,an}。 等概率随机取 S 的一个子集 A={ai1,…,aim}。 计算出 A 中所有元素异或 x, 求 xk 的期望。 SOL : 这题
阅读全文
摘要:SOL::我们有以下dp 不难想到记f[i][j]表示统计到第i门课,此时j个人被碾压的方案数。 f[i][j] = f[i-1][k] * C[k][j] * C[n-k-1][n-rank[i]-j] * P[i] (k >= j) P[i]=∑(j=1 to U[i])j^(n−rank[i]
阅读全文
摘要:不知道在干什么 #pragma optimize("-O2") #include<bits/stdc++.h> #define LL long long #define int LL #define N 2007 #define mo 100000007 #define sight(c) ('0'<
阅读全文
摘要:SOL 奇奇怪怪的贪心(你也不要问我为什么)
阅读全文
摘要:题目描述 SOL 奇奇怪怪的码农题。 我们考虑是一颗树怎么做,我们发现我们可以离线做,把车的限速排序,依次处理,我们首先是树剖,把边分成两类,最高速度小于车速和大于车速的。每次做之前先把最高速度小于当前车速的加到另一类。强行树剖维护。至于多出来的那一条边,我们记其练了A , B,记我们原来的始末位置
阅读全文
摘要:奇奇怪怪的题目,不知道他要我们干什么。 我们观察一波局势,发现答案最大不过5.因为如果答案是6或以上的话,我们就至少要2^(5*5)个5*5的方格。 仔细计算一波时间复杂度,再信仰一波,坚信暴力压正解。
阅读全文

浙公网安备 33010602011771号