![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
思维
文章平均质量分 61
数学小牛马
数学专业本科在读,有奇奇怪怪的coding算法/或者其他想法的可以留言,我会积极为大家带来更多好的原创博文~
展开
-
算法导论摊还分析总结Ⅰ
摊还分析摊还分析(amortized analysis):主要通过求解数据结构中一系列的操作,获得操作的平均时间评价操作的代价;不同于算法的期望,不涉及概率的另一种评价操作代价的方法;主要分为三种方法:聚合分析、核算法、势能法。首先介绍两个常规例子,之后通过例子对上述方法进行说明:例1 栈操作提供三类栈的基本操作:Push(x):将xxx压入栈中;pop():删除栈顶元素;Multipop(k):删除栈顶kkk个元素;其中假设基本操作不存在对空栈的删除操作。例2 二进制计数器原创 2022-04-04 18:58:45 · 629 阅读 · 0 评论 -
Codeforces Round #762 (Div. 3)(A~C,E)
文章目录题目链接A Square String?B Squares and CubesC Wrong AdditionE MEX and Increments有能力再继续补题目链接补题挖坑A Square String?判断拆两半是不是一样,奇数直接NO,偶数从中间分开判断一下#include <iostream>#include <algorithm>#include <cstring>#include <cmath>#include原创 2021-12-21 01:18:55 · 885 阅读 · 0 评论 -
leetcode 419甲板上的战舰
leetcode扫描一遍如果左边或者上边有X则不加,反之则加,注意边界判断class Solution {public: int countBattleships(vector<vector<char>>& board) { int num = 0; for(int i = 0; i < board.size(); ++i) { for(int j = 0; j < board原创 2021-12-19 23:21:12 · 183 阅读 · 0 评论 -
codeforces EDU round#119 div2(A~C, E)
文章目录题目链接ABC有能力再继续补E题目链接补题挖坑A今天的代码都比较难看,稍作改正,第一题可以得到只有一个N的情况不合法,其余都合法#include <iostream>#include <algorithm>#include <cstring>#include <cmath>#include <vector>#include <queue>using namespace std;typedef long l原创 2021-12-19 01:53:01 · 116 阅读 · 0 评论 -
codeforces round#760 div3(A~E)
文章目录题目链接ABCDE有能力再继续补题目链接补题挖坑A看样例猜数据,最小最大肯定有,然后那就再用最大减最小拿出来一共三个数字#include <iostream>#include <algorithm>#include <cstring>#include <cmath>#include <vector>#include <queue>using namespace std;typedef long long原创 2021-12-15 01:33:16 · 458 阅读 · 0 评论 -
Educational Codeforces Round 118 (Rated for Div. 2)ABC+半个E
文章目录题目链接ABCE有能力再继续补题目链接补题挖坑A码风淳朴勿喷呜呜,找位数关系,总位数大的就大,相等的凑到前面两个数相等然后继续比#include <iostream>#include <algorithm>#include <cstring>#include <cmath>#include <vector>#include <queue>using namespace std;typedef long l原创 2021-12-02 02:35:12 · 209 阅读 · 0 评论 -
Deltix Round, Autumn 2021 (Div. 1 + Div. 2)
文章目录题目链接ABCDE有能力再继续补题目链接补题挖坑A凡是有2的因子的全提出来,之后排序乘给最大的奇数#include <iostream>#include <algorithm>#include <cstring>#include <cmath>#include <vector>#include <queue>using namespace std;typedef long long ll;ll t, n原创 2021-11-29 01:39:48 · 307 阅读 · 0 评论 -
codeforces round#756 div3
文章目录题目链接ABCD有能力再继续补题目链接补题挖坑A绝对值记录,map方便就直接搞了#include <iostream>#include<algorithm>#include <vector>using namespace std;int t, n;int main(){ cin>>t; while(t--) { cin >> n; vector<int&g原创 2021-11-03 00:59:57 · 182 阅读 · 3 评论 -
[每日一题]连续数组和(前缀和+哈希)
题目地址:力扣题目描述::给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组:子数组大小 至少为 2 ,且子数组元素总和为 k 的倍数。如果存在,返回 true ;否则,返回 false 。如果存在一个整数 n ,令整数 x 符合 x = n * k ,则称 x 是 k 的一个倍数。示例 1:输入:nums = [23,2,4,6,7], k = 6输出:true解释:[2,4] 是一个大小为 2 的子数组,并且和为 6 。原创 2021-06-02 02:31:43 · 240 阅读 · 0 评论 -
[每日一题]吃糖果(前缀和+区间)
题目地址:力扣题目表述给你一个下标从 0 开始的正整数数组 candiesCount ,其中 candiesCount[i] 表示你拥有的第 i 类糖果的数目。同时给你一个二维数组 queries ,其中 queries[i] = [favoriteTypei, favoriteDayi, dailyCapi] 。你按照如下规则进行一场游戏:你从第 0 天开始吃糖果。你在吃完 所有 第 i - 1 类糖果之前,不能 吃任何一颗第 i 类糖果。在吃完所有糖果之前,你必须每天 至少 吃 一颗 糖原创 2021-06-01 17:44:25 · 261 阅读 · 0 评论 -
n的阶乘位数的简化表达
这是根据杭电阶乘位数改的题目有矩阵知识(代数余子式啥的)可得逆推:22的时候有两种对角形式33的时候代数余子式按1行或按1列展开就是3个位置和三个22的形式所以就是23=6种方案以此类推这就是N*N的方案书就是N!n!=2πn(ne)nn!=\sqrt{2\pi n}(\frac{n}{e})^nn!=2πn(en)n不计算值,只计算位数,所以想到两边开lglglglg(n!)=lg(1)+lg(2)+...+lg(n)=12lg(2πn)+nlg(ne)=lg_n_valuelg(n!原创 2021-01-06 17:11:31 · 1019 阅读 · 2 评论 -
(位运算)逃跑路线(签到
逃跑路线1&3&7&15&…=1看奇偶注意数的范围#include<bits/stdc++.h>using namespace std;int n, ans;string s;int main(){ cin >> n; while(n--){ cin>>s; ans += (s[s.size() - 1] - '0') % 2 ? 1 : 0; } cout原创 2020-08-24 02:16:06 · 116 阅读 · 0 评论 -
牛客月赛思维题使徒袭来
使徒袭来参考均值不等式得到:3×x1x2x33≤x1+x2+x33\times\sqrt[3]{x_1x_2x_3}\leq x_1+x_2+x_33×3x1x2x3≤x1+x2+x3最低为3×n33\times\sqrt[3]n3×3n#include<iostream>#include<cstdio>#include<cmath>using namespace std;int n;int main(){ cin>原创 2020-08-24 01:51:21 · 283 阅读 · 0 评论 -
基本不等式&&凸函数&&拉格朗日乘子
文章目录基本不等式及其证明证明M2‾≤M3‾\overline{M2}\leq\overline{M3}M2≤M3证明M1‾≤M2‾\overline{M1}\leq\overline{M2}M1≤M2证明M3‾≤M4‾\overline{M3}\leq\overline{M4}M3≤M4对凸函数理解为:拉格朗日乘子Jensen不等式基本不等式及其证明调和平均值:M1‾=n1x1+1x2+...+1xn\overline{M_1}=\frac{n}{\frac{1}{x_1}+\frac{1}{x_2}原创 2020-08-24 01:12:43 · 585 阅读 · 0 评论 -
POJ_ants思维题
ants两只蚂蚁相遇方向相反可以看成是按原来道路走下去(因为蚂蚁一样)s1s2s2s1s1==s2->只需检查每只蚂蚁的位置信息即可#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int t,n,l;int main(){ scanf("%d",&t); while(t-原创 2020-08-17 14:59:01 · 136 阅读 · 0 评论 -
2020杭电第五场Tetrahedron(数学推导+期望(打表)+逆元)
Tetrahedron题目大意:四面体,三个面是直角三角形,三条直角边随机处于[1,n]区间,求解直角顶点到地面距离的期望,最终分数用逆元表达原创 2020-08-14 16:02:37 · 143 阅读 · 0 评论 -
2/3维向量叉乘意义&&判断二维平面点的相对位置&&向量法证明海伦公式
向量叉乘a=(x1,y1)b=(x2,y2)a=(x_1,y_1)\quad b=(x_2,y_2)a=(x1,y1)b=(x2,y2)点乘:a→⋅b→\overrightarrow{a}·\overrightarrow{b}a⋅b得到实数,属于向量之间的标量运算叉乘:a→×b→\overrightarrow{a}\times\overrightarrow{b}a×b二维叉乘的数值概念为以两个向量为边所围成的平行四边形面积集合概念为a→与b→\overrightarrow{a}与\ov原创 2020-08-14 15:11:40 · 2428 阅读 · 0 评论 -
2020杭电第六场Little Rabbit‘s Equation(字符串分割进制转换模拟)
Little Rabbit’s Equation1+1=1018-9=9AA*AA=70E47/2=3针对此输入判断符合计算方法的最小的进制,保证都是整除,不是的话输出-1,长度为15,进制为2~16字符串的分割将符号和三个数字分出来-换+,/换*,使得此问题转换为检验+或*的运算,进制转换使得一切数字由自己的最高位+1进制~16进制遍历直到找到或者找不到注意0+0=0等全零操作注意数据范围使用long long#include<bits/stdc++.h>#defi原创 2020-08-06 22:36:40 · 210 阅读 · 0 评论 -
2020杭电第六场Divisibility(数学推导思维)
Divisibility多组数据,给b和x两个数字定义:b进制下的任意数字Y中只要是各个位数加起来的和的结果可以整除x,那么那个数字就可以整除x类似证明可得提取之后得出结论前提(b−1)%x=0(b-1) \%x=0(b−1)%x=0#include<bits/stdc++.h>using namespace std;long long n,b,x;int main(){ scanf("%lld",&n); while(n--){ s原创 2020-08-06 16:20:46 · 260 阅读 · 2 评论