正文内容加载中...
posted @ 2018-02-09 16:41 noble_(noblex) 阅读(163) 评论(0) 推荐(1) 编辑
正文内容加载中...
posted @ 2018-02-07 22:32 noble_(noblex) 阅读(8) 评论(0) 推荐(0) 编辑
摘要:题目 分析 高斯消元解异或方程组,和解普通方程组差不多。 范围有点大,要套一个bitset。 代码 #include <bits/stdc++.h> using namespace std; const int maxn = 1050; bitset<maxn> a[maxn*2]; int n, 阅读全文
posted @ 2018-10-03 23:33 noble_(noblex) 阅读(103) 评论(0) 推荐(0) 编辑
摘要:题目 分析 高斯消元就是个大暴力。。。。 代码 #include <bits/stdc++.h> using namespace std; const int maxn = 105; const double eps = 1e-7; int n; double a[maxn][maxn], b[ma 阅读全文
posted @ 2018-10-03 23:31 noble_(noblex) 阅读(88) 评论(0) 推荐(0) 编辑
摘要:题目 分析 题意就是求∑gcd(i, N) 1<=i <=N.。 显然$ gcd(i,n) = x $时,必然$x|n$。 所以我们枚举一下n的约数,对于每个约数x,显然$ gcd(i/x,n/x)=1$ 所以我们计算一下n/x的欧拉函数就ok了。 联赛前刷水题qwq 代码 // #include 阅读全文
posted @ 2018-10-03 23:09 noble_(noblex) 阅读(81) 评论(0) 推荐(0) 编辑
摘要:题目 分析 $ O(nlogn) $预处理出阶乘和阶乘的逆元,然后求组合数就成了$O(1)$了。 最后再套上错排公式:$ \huge d[i]=(i-1) \times (d[i-1] + d[i-2])$其中$ d[i] $表示把i个数错排的方式数量,其中$d[1]=0,d[2]=1$ 代码 #i 阅读全文
posted @ 2018-10-03 23:03 noble_(noblex) 阅读(142) 评论(0) 推荐(0) 编辑
摘要:题目 分析 莫比乌斯反演。 还不是很熟练qwq 代码 //bzoj1101 //给出a,b,d,询问有多少对二元组(x,y)满足gcd(x,y)=d.x<=a,y<=b #include <bits/stdc++.h> using namespace std; const int maxn = 50 阅读全文
posted @ 2018-10-03 22:57 noble_(noblex) 阅读(95) 评论(0) 推荐(0) 编辑
摘要:题目 分析 k短路,Astar。估价函数是终点向外跑的最短路。 显然不是正解qwq。 代码 // By noble_ // Astar algorithm // #include <bits/stdc++.h> #include <cstdio> #include <algorithm> #incl 阅读全文
posted @ 2018-09-29 20:43 noble_(noblex) 阅读(105) 评论(0) 推荐(0) 编辑
摘要:题目 分析 我好菜啊。 一波IDA*水过去了。 代码 #include <bits/stdc++.h> using namespace std; const int maxn = 7; char s[maxn][maxn]; int a[maxn][maxn], res=0;; int dx[10] 阅读全文
posted @ 2018-09-29 20:14 noble_(noblex) 阅读(96) 评论(0) 推荐(0) 编辑
摘要:打了一堆竟然unsaved? 网不好,难受。 直接扔板子,内用龟速乘。 阅读全文
posted @ 2018-09-29 20:03 noble_(noblex) 阅读(156) 评论(0) 推荐(0) 编辑
摘要:题目 分析 很难想到方向,但有方向了就很easy了。 我们如何减少不必要的计算? 如果我们知道了$ 100111 $的相容的数,$ 100101 $的相容数和他是完全一样的。 我们就靠着这个思想写一下就行了。 注意位运算优先级。 代码 1 #include <bits/stdc++.h> 2 usi 阅读全文
posted @ 2018-08-23 23:55 noble_(noblex) 阅读(213) 评论(0) 推荐(0) 编辑
摘要:题目 分析 这种题不会做 吃枣药丸。。。。。 想到状压已经经过的点。 然后更新时枚举两个点加进去。 复杂度$ {O(2^n \times n^2)}$。 凉凉。 真正的做法是每一个状态只要找到一组解就break。这样可以省掉一层n。 大致上就像lrj紫书的dp例题一样,反正这个点都要选,那就先选了他 阅读全文
posted @ 2018-08-23 23:50 noble_(noblex) 阅读(168) 评论(0) 推荐(1) 编辑
摘要:题目 分析 用$ dp[i][j] $表示用i个节点,有多少深度小于等于j的二叉树。 答案是$ dp[n][n] - dp[n][h-1] $ 转移时枚举左子树的节点数量,就可以知道右子树的节点数量。不断相乘加到$ dp[i][j] $上。 代码 1 #include <bits/stdc++.h> 阅读全文
posted @ 2018-08-23 23:41 noble_(noblex) 阅读(190) 评论(0) 推荐(1) 编辑
摘要:题目 分析 洛谷题解里有一位大佬讲的很好。 就是先用栈预处理出可以匹配的左右括号在数组中设为1 其他为0 最后求一下最长连续1的数量。 代码 1 #include <bits/stdc++.h> 2 using namespace std; 3 const int maxn=1e6+10; 4 ch 阅读全文
posted @ 2018-08-23 23:34 noble_(noblex) 阅读(104) 评论(0) 推荐(1) 编辑
摘要:题目 分析 求结尾0的数量QwQ。 10只能是$ 2 \times 5 $,我们预处理出每个数因子中2和5的数量。 我们接着dp出从左上到右下的经过的最少的2的数量和最少的5的数量。两者取min后就是答案。 特判数据中有0的情况,把他当做10处理。如果此时答案大于1,那么把答案更新成1。因为0只有1 阅读全文
posted @ 2018-08-23 23:31 noble_(noblex) 阅读(147) 评论(0) 推荐(0) 编辑
摘要:题目 分析 dp基础题。 $ dp[i][j] $表示前i个数分成j组的最大和。 转移显然。 吐槽:做cf题全靠洛谷翻译苟活。 代码 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const i 阅读全文
posted @ 2018-08-23 23:18 noble_(noblex) 阅读(87) 评论(0) 推荐(0) 编辑
摘要:题目 分析 军训完状态不好QwQ,做不动难题,于是就学了下模拟退火。 之前一直以为是个非常nb的东西,主要原因可能是差不多省选前我试着学一下但是根本看不懂? 骗分利器,但据说由于调参困难,很多情况比不上多点爬山? 总体来说模拟退火的精髓就是: 可以看到T越大,转移的概率越高。 exp是在cmath里 阅读全文
posted @ 2018-08-23 21:36 noble_(noblex) 阅读(273) 评论(0) 推荐(0) 编辑
摘要:题目 分析 思维要求比较高。 首先我们要把原图的逆序对q算出来。 这个树状数组或归并排序都ok(树状数组不用离散化好评) 那么翻转$[l,r]$中的数怎么做呢? 暴力过不了,我试过了。 设$ t=r-l+1 $即为区间长度 那么区间数对数量(看好是所有数对,不是逆序对)的数量就是$ k =\frac 阅读全文
posted @ 2018-08-21 13:27 noble_(noblex) 阅读(283) 评论(0) 推荐(0) 编辑
摘要:题目 分析 因为m很小,考虑把所有状态压成m位二进制数。 那么总状态数小于$ 2^5 $。 如果状态$ i $能转移到$ j $,那么扔进一个矩阵,n次方快速幂一下。 答案是对角线之和,是转移n次后回来的方案数。 代码 1 #include <bits/stdc++.h> 2 typedef lon 阅读全文
posted @ 2018-08-09 11:11 noble_(noblex) 阅读(122) 评论(0) 推荐(0) 编辑
摘要:题目 分析 不想画图。 https://www.luogu.org/problemnew/solution/P1641 好神仙的题啊。 代码 1 // luogu-judger-enable-o2 2 #include <bits/stdc++.h> 3 using namespace std; 4 阅读全文
posted @ 2018-08-09 10:57 noble_(noblex) 阅读(124) 评论(0) 推荐(0) 编辑
摘要:题目 分析 大佬和我说本题是除法分块,莫比乌斯反演中也有用到。 QwQ我不会莫比乌斯反演啊~ 题目让我们求 $ \sum_{i=1}^n k\mod n $ 然后根据$ a \mod b = a - \left \lfloor \ \frac{a}{b} \right \rfloor \times 阅读全文
posted @ 2018-08-09 10:46 noble_(noblex) 阅读(114) 评论(0) 推荐(0) 编辑
摘要:题目 分析 快把欧拉回路忘光了。 欧拉回路大概就是一笔画的问题,可不可以一笔画完全图。 全图有欧拉回路当且仅当全图的奇数度数的点有0或2个。 2个时是一个点是起点,另一个是终点。 本题也差不多,把给的每个字母对中的两个字母连边。然后跑欧拉回路 代码 1 #include<iostream> 2 #i 阅读全文
posted @ 2018-08-09 10:31 noble_(noblex) 阅读(98) 评论(0) 推荐(0) 编辑
/* */