- 博客(25)
- 收藏
- 关注
原创 二分个人看法(供参考)
1.普通二分(无重复值)[L,R]#include <iostream>using namespace std;int arr[150],n;int erfen(int target){ int l=0,mid; int r=n-1; while(l<=r) { mid=(l+r)/2; if(arr[mid]==target) { return mid;
2020-05-16 13:45:52
299
原创 有相同元素的二分查找
1.取第一个while (left < right) { mid = left + (right - left) / 2; if (arr[mid] < target) left = mid + 1; else right = mid; } if (arr[left] == target) return left; else return -1;注意点(1).取第一个时由于程序本身向下取整,且当相同时r=m
2020-05-15 15:29:29
722
1
原创 结构体重载运算符
int age;int grade;bool operator <(const stu &b)const{ if(grade==b.grade) { string l1=name,l2=b.name; int tmp= l1.compare(l2); return tmp<0; } return grade>b.grade;}}s[1000];
2020-05-13 11:53:43
345
原创 计网复习-物理层
百度脑图:https://naotu.baidu.com/file/24f42de54bda230abd3e23864b4b4baf
2020-04-17 09:29:36
177
原创 计网复习-概述(简要)
1.从因特网的工作方式上看,可以划分为以下的两大块: (1) 边缘部分 由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。 (2) 核心部分 由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。2.在网络边缘的端系统中运行的程序之间的通信方式通常可划分为两大类: 客户服务器方式(C/S 方式),即C...
2020-04-17 09:24:55
264
原创 矩阵连乘模板
#include #include <string.h>#include #include <stdio.h>using namespace std;const long long mod=1e9+7;struct node{long long a[3][3];};node I={1,0,0,0,1,0,0,0,1};inline node mul...
2019-09-27 20:44:36
138
原创 海伦公式
l为半周长,s为面积double l = (a + b + c) / 2;double s = sqrt(l*(l - a)(l - b)(l - c));
2019-09-12 21:27:03
1270
原创 adasf
#include #include <stdio.h>#include <string.h>#include <math.h>#define mod 2147493647#define ll long long#define N 8using namespace std;struct Matrix{int matrix[N][N];};M...
2019-09-11 21:56:39
208
原创 JAVA求扩展中国剩余定理
大数记得试一下int__128;import java.math.BigInteger;import java.util.ArrayList;import java.util.Scanner; public class Main { public static void main (String[] args){ Scanner scan = new Sca...
2019-09-11 21:38:20
279
原创 一般斐波切数列循环节模板
一般斐波那契数列的循环节1001Case #1: 13Case #2: 84Case #3: 69Case #4: 241000000007Case #5: 2000000016998244353Case #6: 1996488708*/#include <iostream>#include <cstdio>#include <cstr...
2019-09-11 19:20:05
179
原创 二次剩余模板
#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<cstdlib>#include<ctime>#define LL long longusing namespa...
2019-09-11 14:50:01
286
原创 2019徐州网络赛
K. Center枚举两个点的中点作为轴对称的点就可以了#include <algorithm>#include <string.h>#include <stdio.h>#include <map>#include <utility>#define ll long long#define PII pair<ll,ll...
2019-09-09 19:48:41
202
原创 求线段交点
德布是一个很大的可乐饮酒者,但他无法帮助它。为了少喝可乐,他设计了以下装置:一种长度和高度几乎无限的水箱,底部有无限量的可乐。在水箱中间有两个木板,木板位于距离水箱边缘无限远的地方,木板和可乐之间的距离是无限的,两个木板可能相交,Debu将在中午将罐子倒置(稍后完成),可乐将垂直下降。可乐的速度很快,可乐到达底部片刻,所以一些木板可以保留可乐(因为两块木板可能相交),而德布会喝木板保留的...
2019-09-08 16:19:47
420
转载 扩展中国剩余定理
现在,m1,m2,…mn之间没有任何关系。只考虑两个怎么处理?可以得到:x=a1+k1∗m1;x=a2+k2∗m2所以 a1+k1∗m1=a2+k2∗m2k2∗m2−k1∗m1=a1−a2;很像:a×x+b×y=c设m1,m2 的gcd 为 g设a1−a2=c当c不是g的倍数的时候,那就完了。(exgcd无解情况)如果是,就用exgcd求出k2×m2+k1×m1=gcd(m1,...
2019-09-07 20:18:09
114
转载 中国剩余定理
求解同余方程组设M=m1m2m3m4mi…;则Mi=M/mi;x=a1M1pow(M1,-1)+a2M2pow(M2,-1)+a3M3pow(M3,-1)…又因为求最小正整数解 x=(x%M+M)%M;void exgcd(int a,int b,int &x,int &y){ if(b==0){ x=1; y=0; return;} exgcd(b...
2019-09-07 19:07:45
110
转载 欧拉函数
今天我们来学一下欧拉函数。定义:欧拉函数是小于n的数中与n互质的数的数目。例如φ(8)=4,因为1,3,5,7均和8互质。欧拉函数的通式为:,其中pi表示x的质因数。特别声明,φ(1)=1。注意:每种质因数只一个。比如12=223那么φ(12)=12*(1-1/2)*(1-1/3)=4。其中还有比较特殊的几个。1:如果x是a^k,那么----除a的倍数外都与他互质。2.如果n是奇数,那...
2019-09-07 16:20:34
318
原创 归并排序及求逆序对数
归并排序及求逆序对数#include <cstdio>#include <iostream>#include <cstring>#include <algorithm>#include <queue>#define mem(x,y) memset(x,y,sizeof x)#define fo(i,s,t) for(int ...
2019-08-30 21:50:39
291
原创 poj3744(矩阵连乘优化概率dp)
题目链接:http://poj.org/problem?id=3744题意解析:这题大意是给定一条路, 有n个地雷,从一开始以p的概率走一步,以1-p的概率走俩步,问你安全通过的概率是多少。难点:因为地雷的范围为1~100000000,用不了一般的dp数组求解,所以我们要用矩阵连乘来优化;p 1-p 1*1 0 0代码:#include <iostream&...
2019-07-24 18:45:24
163
原创 2019牛客多校第二场B题(随机求概率)
题目链接:https://ac.nowcoder.com/acm/contest/882/A题意:现在有一个长度为未知环,每次你可以向前或者向后走一步。现在有T个回合,每个回合给你两个整数n和m。现在问你,在第i个回合中,在满足第i−1个回合的条件的前提下,在该回合中,将长度为n的环上的所有的点都访问过至少一次并最终落在点m的可能性。解析:对于这类询问概率的问题,我们可以采用蒙特卡洛随机的方...
2019-07-23 13:10:20
138
原创 sg函数的俩种形式
1.从一堆中拿出一部分2.将一堆分为俩堆,多堆时仅加for循环即可。void get_sg(){ //nim博弈 , 选择的是任意连续的数字 , 因此在这里sg[x]=x memset(sg , 0 , sizeof(sg)); sg[0] = 0 ; sg[1] = 1 ; for(int i = 1 ; i < maxn ; i++)//每堆中有多少个石子,求出每个数量的...
2019-07-22 19:33:42
163
原创 斐波那契博弈
原理参照:https://blog.csdn.net/dgq8211/article/details/7602807例题:poj2516取石子游戏1堆石子有n个,两人轮流取.先取者第1次可以取任意多个,但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍。取完者胜.先取者负输出"Second win".先取者胜输出"First win".Input输入有多组.每组第1行是2<...
2019-07-18 11:05:17
96
原创 快速幂模板
#include #define ll long longusing namespace std;/64位:1e18ab%m;方法一:/ll mul1(ll a,ll b,ll m){ll ans=0;for(; b; b>>=1){if(b&1)ans=(ans+a)%m;a=a2%m;}return ans;}/方法二/ll mul2(l...
2019-07-13 10:21:21
54
原创 二进制枚举实例
二进制枚举添加链接描述题意介绍:n个题目,三个队友,每个队友分别解出第i题的概率为a_i,b_i,c_i,现要求输出该队答出x题的概率。第一次写二进制枚举的代码,突然发现这个枚举真的很有用,它使用二进制中的0,1来代替是否选择这个子集,他可以简单地遍历一遍所有的选择情况。当时现学了二进制枚举,所以思路有点混乱。#include#include#include#include#def...
2018-09-30 18:01:55
384
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人