![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
Nap!
码子今天又让我伤心了
展开
-
简单的二维梯度下降 (适合入门)
神经网络 梯度下降转载 2022-10-21 21:15:06 · 318 阅读 · 0 评论 -
测量计算机大小端代码
测量计算机大端还是小端原创 2022-09-18 15:43:13 · 118 阅读 · 0 评论 -
DP背包问题(01+完全+多重)
01背包用于每个物体可拿无限次题目有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。in第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。out输出一个整数,表示最大价值。样例:in:4 51 22 43 44 5out:原创 2021-10-24 21:46:00 · 100 阅读 · 0 评论 -
Java中自定义排序(cmp)
java中可以利用Arrays.sort()进行顺序排和逆序排。逆序排的话得重写Comparator中compara这个方法import java.util.Arrays;import java.util.Comparator;public class test2{ public static void main(String[] args) { Integer a[]={5,1,8,2}; Comparator cmp = new MyComparator原创 2022-05-22 10:16:24 · 409 阅读 · 0 评论 -
L2-020 功夫传人 (25 分)
题目浅浅的复习一下dfs,这个题就是用简单搜索,题目输入用vetor记录就行。#include<bits/stdc++.h>using namespace std;const int N=1e5+5;map<int,int>mp;double ans=0;double z,r;vector<int>v[N];bool vis[N];bool dedao[N];int p[N];void dfs(int i,int deep){ if(dedao[原创 2022-04-17 22:36:40 · 179 阅读 · 0 评论 -
清点代码库 (25 分)
题目链接这个题看起来思路一下子就来了,但是就是过不了全部样例,起初自己用string来存后面的数字,用map映射,但是总是有样例过不了,后来看到了大佬的博客真的绝绝子,属实自己对STL了解太少了。。这里有要注意,vector竟然可以比较大小!!!还有可以用来作为map的关键字!!!#include<bits/stdc++.h>using namespace std;map<vector<int>,int>mp;vector<int>v;bool原创 2022-04-16 00:07:21 · 523 阅读 · 1 评论 -
纯质数(十二届蓝桥杯c++B组国赛)(欧拉筛)
结果1903,运行以下代码会RE,因为数值开太大了,不过可以在自己电脑上运行然后再得到结果欧拉筛B站视频这里:点这里#include<bits/stdc++.h>using namespace std;const int N=20210605;const int maxn=3e8+5;int prime[maxn];bool vis[maxn];int k=0;void ols(){ for(int i=2;i<=N;i++){ if(!vis[i]) prime[原创 2022-04-05 23:45:05 · 796 阅读 · 0 评论 -
全排列的两种方法
回溯法:#include <bits/stdc++.h>using namespace std;int n, num[50], a[50];bool mark[50];void dfs(int x) { if (x == n+1) { for (int i = 1; i <= n; i++) cout << a[i]; putchar('\n'); return; } for (int i = 1; i <=n; i++) { int t原创 2022-03-22 23:31:13 · 82 阅读 · 0 评论 -
stringstream读取带空格的字符串中数字
#include <bits/stdc++.h>using namespace std;int main(){ string str,tstr; stringstream ss; getline(cin,str);// ss<<str; while(ss>>tstr){ stringstream tss;//只可以再while里面定义一个临时的 tss,如果定义在外面,值不会改变 tss<<tstr; int val;原创 2022-03-10 17:21:50 · 401 阅读 · 0 评论 -
树状数组(单修区查+区修单查+离散化)
B站视频入门单点修改 区间查询洛谷原题代码中ask(x)为查询tree的前缀和#include<bits/stdc++.h>using namespace std;#define lowbit(x) (x&(-x)) const int N=5e5+9; int tree[N];int n,m;void add(int x,int k){ while(x<=n){ tree[x]+=k; x+=lowbit(x); }}int ask(int x原创 2022-02-07 16:34:13 · 112 阅读 · 0 评论 -
最小生成树代码模板(prim+kruskal)
prim(邻接矩阵存图):#include<bits/stdc++.h>using namespace std;#define INF 0x3f3f3f3fconst int N=1e3+5;int dis[N],mst[N];int graph[N][N];int n,m;void prim(int graph[][N],int n){ int dis[N];//dis[i]:MST到i点的最小距离 dis[i]=0表示已经加入最小生成树 int mst[N];//m原创 2022-01-18 20:51:43 · 911 阅读 · 0 评论 -
(数据结构)二叉排序树的插入、删除
关于插入不多说,主要讲讲删除操作的第三种情况吧。前面的两种情况比较简单,包含了只有左或者只有右还有左右都没 有的第三个情况就比较复杂,左右子树都存在,想删除这个节点(设为P)我们采 用取代的方法,在P的左右子树里面找到合适的一个节点代替它,根据二叉排序树的特点,可以找P的左子树中最大 的或者右子树中最小的,这里我们讲讲前者。假设一个二叉排序树如图:我们要删除节点47,执行玩第50行时P,q,s分别指向47,47,35跳出while循环时,P不变,s指向37,q一直指向s的父节点,即35,如原创 2021-11-26 16:56:37 · 6819 阅读 · 3 评论 -
(数据结构)图的邻接矩阵创建+DFS遍历(字符串顶点)
数据结构书上面的代码太复杂了,笔者直接简化来写#include<bits/stdc++.h>using namespace std;#define INF 0x3f3f3f3fconst int N=101;bool vis[N];typedef struct { int vexnum;//节点数 string vexname[N];//节点名字 int arc[N][N];//边权 int acrnum;}Graph;int Locatevex(Graph &am原创 2021-11-25 11:57:47 · 585 阅读 · 0 评论 -
初认set(set的插入+遍历+删除)
废话不多说,上代码:#include <bits/stdc++.h>using namespace std;set<int> myset;set<int>::iterator it;int main () { for(int i=5;i>0;i--) myset.insert(i*100);/*set可以自动排序*/ printf("原数列:\n"); for(it=myset.begin();it!=myset.end();it原创 2021-09-23 20:07:07 · 459 阅读 · 0 评论 -
初认map(map的遍历和删除)
废话不多说,上代码解释:/*mapj就是元素的映射 */ #include <bits/stdc++.h>using namespace std;map<char,int>mymap;map<char,int>::iterator it;int main () { mymap['a']=1; mymap['b']=2; mymap['c']=3; mymap['d']=4; mymap['e']=5; mymap['f']=6原创 2021-09-23 20:05:00 · 136 阅读 · 0 评论 -
快速幂模板
具体看这个大佬的博客真的超级详细#include<bits/stdc++.h>using namespace std;typedef long long ll;const ll mod=10000007;// base 为底 power为指数 ll fastpower(ll base,ll power){ ll ans=1; while(power){ if(power&1){//power奇数? ans=ans*base%mod; } power原创 2021-09-05 15:23:26 · 75 阅读 · 0 评论 -
数列分块入门1-9
这里写目录标题数列分块入门1数列分块入门2数列分块入门1Description给出一个长为n 的数列,以及 n 个操作,操作涉及区间加法,单点查值。Input第一行输入一个数字n。第二行输入n个数字,第i个数字为ai,以空格隔开。接下来输入n行询问,每行输入四个数字opt,l,r,c,以空格隔开。若opt=0,表示将位于[l,r]的之间的数字都加c。若opt=1,表示询问ar 的值(l和c忽略)Output对于每次询问,输出一行一个数字表示答案。SamplesInput41原创 2021-08-15 11:46:07 · 750 阅读 · 0 评论 -
关于string 的一些小知识
输入输出也可以用s.size()输出插入去除字串原创 2021-03-22 20:36:21 · 85 阅读 · 1 评论 -
牛客——等价串
题目题目网址一串长度为 n 的字符串 A 和一串长度为 m 的字符串 B。并且这两串字符串只会含有 0 或 1 。铁子可以对字符串 A 执行两种操作,两种操作可以执行任意次。操作1(无情替换):铁子可以用 11 替换掉 0 ,也可以用 00 替换掉 1 .操作2(极限删除):铁子可以删除掉 111 ,也可以删除 000 .现在问,字符串 A 可以变成字符串 B 吗?输入描述:第一行有一个整数T,表示有T(1<=T<=1000)组测试数据。接下来的每组数据,第一行有两个整数n,m原创 2021-03-18 20:54:42 · 159 阅读 · 0 评论 -
并查集(路径压缩)
并查集其实就是两个函数一个找祖先节点(find)一个来联合(join)//并查集2个函数的代码//查找x的祖先节点 int find(int x){ if(pre[x]==x) return x; return pre[x]=find(pre[x]);}//合并 x 和 y 使他们到一个祖先节点上面 4void join(int x ,int y){ int fx=find(x),fy=find(y); if(fx!=fy){ pre[fx]=fy; }}原创 2021-03-07 15:41:15 · 105 阅读 · 0 评论 -
OJ最大回文数(1e32)
题目回文数指的是一个数字,从左到右读和从右到左读都一样。例如,1221和1234321 是回文数,1234 不是回文数。现有n 个正整数ai(i=0,1,2,3,…,n−1),请找出其中最大的回文数。注:对于30%的数据,1≤n≤100,1≤ai≤108。对于60%的数据,1≤n≤1000,1≤ai≤1016。对于100%的数据,1≤n≤104,1≤ai≤1032。输入输入文件的第一行只有一个正整数n,代表正整数ai 的个数。接下来的n 行,每行包含一个正整数ai。输入保证一定有回文数。输出原创 2020-12-02 20:48:48 · 2537 阅读 · 0 评论 -
OJ开关灯问题
开关灯问题标题将n个灯泡编成n号,即1,2,3,…n。现有n个人去拉开关,第一个人把1的倍数的灯号开关都拉一下,第二个人把2的倍数的灯号都拉一下,第三个人把3的倍数的灯号都拉一下,……直到第n个人将第n号灯泡拉一下。假定开始时,灯泡全不亮,请问:这n个人全拉完后,有多少个灯泡是亮的?输入一个整数n(1<n≤1000000000)二、说明这个题如果循环用i++来做的话一定超时;注意到,第n个人拉完后,剩下的亮着的灯号一定是一个平方数,不行的话可以自己举例子,又注意到,每一个平方数都可以拆为k个奇数原创 2020-11-16 23:08:42 · 1375 阅读 · 2 评论