solve

P1057 传球游戏

匿名 (未验证) 提交于 2019-12-03 00:39:02
这道题是水题了吧,可惜我之前还是写错了。 这是我后来做这道题的草稿: 设 \(dp[i][j]\) 为球在 \(i\) 手上,还需传 \(j\) 次的方案数,那么,状态转移方程就是: \[dp[i][j] = dp[i + 1][j - 1] + dp[i - 1][j - 1]\] 当然要特殊考虑 \(i==1\) 和 \(n\) 的情况。 最后答案就是 \(dp[1][m]\) ,注意不要输错了。 不会递推,只会记忆化。 代码: #include<cstdio> #include<cstring> const int maxn = 40 ; int dp[maxn][maxn]; int n, m; int solve( int i, int j) { if (dp[i][j] != -1 ) return dp[i][j]; int ans = 0 ; if (j == 0 ) { if (i == 1 ) ans = 1 ; } else if (i == 1 ) { ans = solve( 2 , j - 1 ) + solve(n, j - 1 ); } else if (i == n) { ans = solve(n - 1 , j - 1 ) + solve( 1 , j - 1 ); } else { ans = solve(i + 1 , j - 1 ) +

方程式求根

匿名 (未验证) 提交于 2019-12-02 23:53:01
使用sym或syms建立变量 >> syms x >> (x+x)/3 ans = (2*x)/3 >> y=sym('y') y = y solve() 1.一元一次方程 解y=x*sin(x)-x; y是equation x是symbol >> solve(cos(x).^2-sin(x).^2,x) ans = pi/4 2.二元一次方程 >> syms x y >> eq1=x-2*y-5; >> eq2=x+y-6; >> a=solve(eq1,eq2,x,y) a = 包含以下字段的 struct: x: [1×1 sym] y: [1×1 sym] >> a.x ans = 17/3 >> a.y ans = 1/3 >> syms x a b solve(a*x^2-b) ans = b^(1/2)/a^(1/2) -b^(1/2)/a^(1/2) >> syms x a b >> solve(a*x^2-b,b)%以b为未知数来解 ans = a*x^2 求导 >> syms x >> y=4*x^5 y = 4*x^5 >> yprime=diff(y) yprime = 20*x^4 对x^2*exp(x)积分,z(0)=0 subs是 赋值函数 ,用数值替代符号变量替换函数 >> syms x >> y=x^2*exp(x); >> z=int(y); >

AGC003做题小记

两盒软妹~` 提交于 2019-12-02 03:36:19
比赛链接: AGC003 E. Sequential operations on Sequence 题意 给定长为 n 的一个序列, 第 i 个数为 i, 有 Q 次操作,每次给定一个 q[i], 表示将原序列无限延长(第 i 个数为 a[(i - 1) % n + 1])后, 截取前 q[i] 个数作为新序列。输出最终序列中每个数的出现次数。 n, q <= 100000, q[i] <= 1e18 题解 考虑两次操作 i, j, 如果 i < j 且 q[i] >= q[j], 那么操作 i 是没有意义的。从而我们可以得到一个升序的 q[i] 数组。 记 Solve(x) 为考虑最终序列的前 i 个数的答案数组, 我们要求的就是 Solve(q[m]) 如果 x <= q[1], Solve(x) 可以直接求; 否则,找到一个最大的 i 满足 q[i] <= x, 就有 Solve(x) = x / q[i] * Solve(q[i]) + Solve(x % q[i]) x % q[i] < x / 2, 从而一段区间只会被这样切开 O(logx) 次 直到所有区间都被切得长度小于 q[1] 就可以打标记 O(n) 出解了。 代码 F. Fraction of Fractal 题意 给定一个 n * m 的方格图,有若干点被染成黑色。黑色的点保证联通。递归定义一组图形: 第

计算几何 val.3

痴心易碎 提交于 2019-12-01 18:32:29
目录 计算几何 val.3 自适应辛普森法 定积分 引入 辛普森公式 处理精度 代码实现 模板 时间复杂度 练习 闵可夫斯基和 Pick定理 结论 例题 后记 计算几何 val.3 自适应辛普森法 可以用来求多边形的面积并(圆也行) 定积分 定积分的几何意义是函数的曲线上 \(x\) 的一段区间与 \(x\) 轴围成的 曲边梯形 的带符号面积 表示法为 \[ \int_{a}^{b} f(x) \mathrm{d} x \] 引入 计算方法: 分成一堆小区间 \[ \int_{a}^{b} f(x) \mathrm{d} x=\lim _{n \rightarrow \infty} \sum_{i=1}^{n} \frac{b-a}{n} f\left(a+\frac{b-a}{n} i\right) \] 牛顿-莱布尼茨公式 如果 \[ F^{\prime}(x)=f(x) \] 则 \[ \int_{a}^{b} f(x) \mathrm{d} x=F(b)-F(a) \] 这个可以求: \(\int_a^b(\frac 1 x)dx = \ln |b|-\ln |a|\) 这也是连接定积分和不定积分的桥梁 对于一些难求的积分,我们可以用数值积分来求,其中常用的是自适应辛普森积分 辛普森公式 此公式用二次函数来拟合原函数 \[ \int_{a}^{b} f(x) \mathrm

方程式求根

心不动则不痛 提交于 2019-11-26 11:14:00
使用sym或syms建立变量 >> syms x >> (x+x)/3 ans = (2*x)/3 >> y=sym('y') y = y solve() 1.一元一次方程 解y=x*sin(x)-x; y是equation x是symbol >> solve(cos(x).^2-sin(x).^2,x) ans = pi/4 2.二元一次方程 >> syms x y >> eq1=x-2*y-5; >> eq2=x+y-6; >> a=solve(eq1,eq2,x,y) a = 包含以下字段的 struct: x: [1×1 sym] y: [1×1 sym] >> a.x ans = 17/3 >> a.y ans = 1/3 解ax^2-b=0 >> syms x a b solve(a*x^2-b) ans = b^(1/2)/a^(1/2) -b^(1/2)/a^(1/2) >> syms x a b >> solve(a*x^2-b,b)%以b为未知数来解 ans = a*x^2 求导 >> syms x >> y=4*x^5 y = 4*x^5 >> yprime=diff(y) yprime = 20*x^4 积分 对x^2*exp(x)积分,z(0)=0 subs是 赋值函数 ,用数值替代符号变量替换函数 >> syms x >> y=x^2*exp(x); >