- 博客(24)
- 收藏
- 关注
原创 根据字符串动态生成函数
参考文章https://learnku.com/articles/25747types.functionType的使用首先编译字符串funcStr="def func(t): print(t)"funcCode=complie(funcStr,"<string>","exec")然后通过types.functionType创建函数类型myfunc=FunctionType(funcCode.co_consts[0], globals(), "foo")funcCode.co_c
2021-06-11 17:27:20 395
原创 ACM模板
目录图论tarjan求强连通分量图论tarjan求强连通分量const int MAXN=100005;int n,m;vector<int> g[MAXN];int dfn[MAXN],low[MAXN],cnt=0,index=0;int scc[MAXN],size[MAXN];bool inStack[MAXN];stack<int> st;v...
2019-09-22 20:59:40 441
原创 2019牛客暑期多校训练营(第九场)
题目B Quadratic equation题意题解B Quadratic equation题意在模p=1e9+7意义下(x+y)modp=b(x+y)modp= b(x+y)modp=b(x×y)modp=c(x×y)modp=c(x×y)modp=c求x,y,无解则输出-1 -1题解学到了新东西,二次剩余。求的是x2≡a(modp)x^2\equiv a(mod p)x2≡a(...
2019-08-16 11:55:39 170
原创 2019牛客暑期多校训练营(第七场)
题目H Pair题意题解H Pair题意(xANDy≤c)∣∣(xXORy≥c)(xANDy\leq c)||(xXORy\geq c)(xANDy≤c)∣∣(xXORy≥c)其中1≤x≤A1\leq x\leq A1≤x≤A和1≤y≤B1\leq y \leq B1≤y≤B,求满足条件的x,y对数题解数位dp,设dp[i][j][k][l][m]dp[i][j][k][l][m]dp...
2019-08-16 10:29:45 145
原创 2019年杭电暑期多校(第六场)
题目1002 Nonsense Time1002 Nonsense Time题意给p和k数组,k[i]k[i]k[i]表示,此时p[k[i]]p[k[i]]p[k[i]]可用,求此时的最长上升子序列长度。注意,这题的p和k都是随机生成的。题解会算复杂度就能过的一道题。本来跑一遍LIS是O(nlogn)O(nlogn)O(nlogn),然后由于是随机的数据,不知道怎么瞎吉儿算,就算出来平均...
2019-08-09 11:57:31 185
原创 2019牛客暑期多校训练营(第五场)
题目I three points 1(计算几何)I three points 1(计算几何)题意给一个三角形的三条边,问这个三角形能否放进一个矩形内。思路其实想起来很简单,就是把一个点放在原点然后一条边紧靠在矩形上,这样就确定两个点,然后再算出另一个点坐标,看是否合法就好了,每个点每条边都尝试一下,总共6种情况。现场做的时候想的是把最长边靠在矩形最长边就可以了,但实际上是错误的,必须每...
2019-08-06 16:45:02 160
原创 2019年杭电暑期多校(第五场)
题目1004 equation1004 equation题意给定ai,bia_i,b_iai,bi和C,求解方程∑i=1N∣ai⋅x+bi∣=C∑_{i=1}^N|a_i⋅x+b_i|=C∑i=1N∣ai⋅x+bi∣=C。思路因为每一项都有绝对值,这是无法化去的。但是题目中N仅有1e5,于是就可以暴力求解了。首先对于每个∣ai⋅x+bi∣|a_i⋅x+b_i|∣ai⋅x+bi...
2019-08-06 10:43:47 118
原创 2019年杭电暑期多校(第三场)
题目1007 Find the answer1007 Find the answer给w数组,求w[1]−w[i]w[1]-w[i]w[1]−w[i]需要去掉几个数才能满足sumsumsum小于等于m思路最初开始做的时候想的太简单了,那时候用两个优先队列维护去掉的数和没去掉的数,每次都从大到小去数,然后再把多去掉的数还回去,这样做法是没错,但是对于类似100 1001 1 1 1 1 ...
2019-08-02 12:15:00 121
原创 2019年杭电暑期多校(第四场)
题目1007 Just an Old Puzzle(n数码+归并求逆序数)1007 Just an Old Puzzle(n数码+归并求逆序数)题意给定一个4*4的矩阵,按照8数码一样的移动方式,问能否在120步内移动到目标状态。思路虽然我不知道怎么证明,反正如果两个状态能够互相到达,那么所需步数最多只需要46步。那么只需要求两个状态能否互相到达就好了。n*m的数码问题有一个结论:1...
2019-08-01 11:01:34 150
原创 2019牛客暑期多校训练营(第四场)
题目C sequenceC sequence题意求max1≤l≤r≤n{min(a[l…r])×sum(b[l…r])}max_{1\le l\le r\le n}\{min(a [l…r] )×sum(b [l…r])\}max1≤l≤r≤n{min(a[l…r])×sum(b[l…r])} 。思路首先通过单调队列或者单调栈可以求出a[i]作为最小值所影响的范围,再对b求前缀和以...
2019-07-30 18:49:53 202
原创 数论定理
常用定理欧拉定理欧拉函数费马小定理欧拉定理欧拉定理表明,若n,a为正整数,且n,a互质,则:aφ(n)≡1(mod n)a^{φ(n)}\equiv1(mod\space n)aφ(n)≡1(mod n)其中φ(n)φ(n)φ(n)表示n的欧拉函数欧拉函数欧拉函数是小于n的整数中与n互质的数的个数,一般用φ(n)表示。特殊的,①φ(1)=1②当n为质数时,φ(...
2019-07-26 12:09:42 306
原创 2019年杭电暑期多校(第二场)
1005 Everything Is Generated In Equal Probability题意太长啦,就是模拟运行一个程序输出结果的期望值。思路绝大多数人都是打表找规律吧,反正最终结果就是n2−19\frac {n^2-1} 99n2−1然而我在现场的时候头铁自己推公式,就差一点就推出来了。。。。。赛后特别不甘心,就用自己推出来的公式重做了一次。推导过程①首先可以求出长度为...
2019-07-26 11:42:38 150
原创 2019年杭电暑期多校(第一场)
1005 Path思路枚举被每一辆车堵到终点所需要的时间,取最大值即可这题关键在于为什么取最大值是正确的,在这里把时间看成唯一的标准,如果某一个情况花费TTT时间,那么所有比他花费时间少的情况就都不可能存在,因为你总不能越过这辆车到达终点吧,也就意味着必然会被耗时最长的车堵住。剩下的就是细节问题了。#include<bits/stdc++.h>#include<stdl...
2019-07-23 09:52:40 156
原创 2019牛客暑期多校训练营(第二场)
F Partition problem题意有2*n个人,平均分为两队,当i和j不在同一队时,获得权值VijV_{ij}Vij,求权值总和的最大值思路暴力!暴力!暴力!首先划分28个人有C2814C_{28}^{14}C2814种情况,约为4e7,然后计算权值总和本来需要14*14的复杂度,这样肯定会T,因此需要想办法优化这个14*14,于是我在翻别人的代码的时候看到了这一段超简洁...
2019-07-22 17:50:47 74
原创 线性基笔记
https://ouuan.github.io/线性基学习笔记/概念某种意义上来说线性基实际上是对原集合的压缩感性的理解,基就是向量空间中的一个子集,它可以通过唯一的线性组合,来张成向量空间中所有的向量,这样就可以大大的缩小我们向量空间的大小。性质1,在线性基中任取若干个元素,它们的异或不为零。即它们线性无关。2,其所在线性空间中每个元素都有唯一的方案由线性基中元素异或得到。3,...
2019-07-19 17:02:33 130
原创 逆元板子
ll inverse(ll a){ return a == 1 ? 1 : 1LL * (mod - mod / a) * inverse(mod % a) % mod;}
2019-07-19 11:14:29 167
原创 2019牛客暑期多校训练营(第一场)
B Integration (裂项,找规律)比较详细的题解https://blog.csdn.net/ftx456789/article/details/96451366?tdsourcetag=s_pctim_aiomsg题意求解1π∫0∞1∏i=1n(ai2+x2)dx\frac 1\pi \int _0^∞{\frac1{\prod_{i=1}^n{(a_i^2+x^2)}}...
2019-07-19 11:13:33 192
原创 HDU2837 Calculation【指数循环节】
题意题意:f(n) = (n%10)^f(n/10)计算f(n)%m预备知识指数循环节其实就是用来压缩指数的。求 abmod c a^b mod \space cabmod c当b很大,long long都存不下时,根据公式abmod c≡ab%phi[m]+mmod ca^bmod\space c\equiv a^{b\%phi[m]+m}...
2019-07-18 11:04:14 125
原创 洛谷 P1850 换教室 (Floyd + 期望dp)
题意共有n节课,每节课有两间教室,分为初始教室和可申请教室,拥有m次申请换教室的机会,每次申请换教室时有ki的概率换成功,默认在初始教室上课。总共v间教室,教室间共有e条路径权值为w,求在m次机会内如何更换,使得总权值期望最小。题解首先对所有教室求一次Floyd,得到教室间最短路。求dp[i][j][k]其中i表示第i节课,j表示算上这一次一共申请了j次,k表示这节课是否申请。dp[i...
2019-07-16 18:36:37 110
原创 hdu 3518 Boring counting(后缀数组)
困扰了我好几周的后缀数组,勉强照着模版做了一题。 http://acm.hdu.edu.cn/showproblem.php?pid=3518 题意:给一个字符串 ,有两个子串相等(不重复,不重叠)的数目是多少 //sa[i] 表示排名为i的后缀在原串的位置//rank[i] 表示位置为i的后缀的排名//height[i]=lcp(i,i-1) 表示排名为i和i-1...
2018-09-28 08:39:03 122
原创 018 ACM/ICPC 焦作赛区网络赛
B:因为最大值可能是先前一个负数乘以另一个负数得到的,所以需要用dp维护最大和最小值,就是这转移方程不太好写#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<cmath>#include<queue>...
2018-09-18 19:04:24 141
原创 Educational Codeforces Round 50 (Rated for Div. 2)
http://codeforces.com/contest/1036B: 题意简单,就不说了#include <cstdio>#include <iostream>#include <algorithm>#include <string.h>using namespace std;typedef long long LL;...
2018-09-11 12:57:01 87
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人