自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(148)
  • 收藏
  • 关注

原创 Linux下进程线程区别

Linux下进程线程区别文章目录Linux下进程线程区别定义创建共享的资源进程栈和线程栈上下文切换进程组和线程组通信数据安全 (并发上)终止多线程和多进程的选择定义对于有线程系统:进程是资源分配的独立单位线程是资源调度的独立单位对于无线程系统:进程是资源调度、分配的独立单位创建进程和线程的创建都是通过clone(2)来实现的fork()->clone(SIGCHLD,0)pthread_create()->clone(CLONE_VM|CLONE_FS|

2020-11-13 22:46:33 179

原创 基本算法--排序 快排代码

快排代码: 分割原理是把所有小于pivot的元素都放到该段最前面,最后把pivot放到所有小于的后面就完成分割操作。#include<ctime>int random(int n){ return (ll)rand()*rand()%n;}int rand_lr(int l,int r){ return random(r-l+1)+l;}void q_sort(int arr[],int l,int r){ if(l>=r){retur...

2020-09-03 07:55:18 140

原创 【数据结构】优先队列类实现(int)

class big_heap_int{private: vector<int>heap; void down(int x){ int s=x*2; while(x<heap.size()-1){ if(heap[s]<heap[s+1]){ ++s; } if(heap[x]<heap[s]){ .

2020-09-02 20:56:00 125

原创 【数据结构--链表】LeetCode 138 复制带随机指针的链表

给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的 深拷贝。我们用一个由 n 个节点组成的链表来表示输入/输出中的链表。每个节点用一个 [val, random_index] 表示: val:一个表示 Node.val 的整数。 random_index:随机指针指向的节点索引(范围从 0 到 n-1);如果不指向任何节点,则为 null 。来源:力扣(LeetCode)链接:https://leetcode-cn....

2020-08-14 18:35:58 91

原创 【数据结构--链表】LeetCode .25 K 个一组翻转链表

给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。示例:给你这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k = 3 时,应当返回: 3->2->1->4->5来源:力扣(LeetCode)链接:https://leetcode-

2020-08-14 16:32:15 87

原创 【数据结构--链表】Leetcode 19. 删除链表的倒数第N个节点

给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解:1、两.

2020-08-14 14:30:22 78

原创 【数据结构-链表】Leetcode-02

输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Sol.

2020-08-14 10:02:47 78

原创 数据结构--链表基本操作

1.链表删除其中一个元素/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* deleteNode(ListNode* head, int val) {

2020-08-08 18:45:02 94

原创 【图论】-最短路-模板题-牛客网

题目链接:https://www.nowcoder.com/questionTerminal/b39dacd574ba49c7a4d10974b1bb325fDijkstra#include<bits/stdc++.h>using namespace std;#define en '\n'#define ll long longconst ll maxn =1e5+10;const int inf=0x3f3f3f3f;#define lowbit(x) (x&a.

2020-08-07 18:23:02 137

原创 HDU-1711 KMP入门

#include<bits/stdc++.h>using namespace std;#define en '\n'#define ll long longconst ll maxn =1e6+10;#define lowbit(x) (x&-x)int f[maxn];int rd(){int tem;scanf("%d",&tem);return tem;}int n,m,nxt[maxn],a[maxn],b[maxn];void getnxt(){.

2020-08-04 21:20:08 94

原创 C++添加狄利克雷噪声

void get_Dirichlet(double a[],int num){ typedef std::mt19937 G; typedef std::gamma_distribution<> D; G g; // seed if you want with integral argument double k = 1; // http://e...

2019-11-12 08:56:16 467

原创 C++调用外部exe

#include<bits/stdc++.h>#include<windows.h>using namespace std;int main(){ double st=clock(); for (int i=0;i<1;++i){ char *str = "D:/Program Files (x86)/Tencent/QQ/Bi...

2019-11-10 10:37:08 165

原创 python 读入重定向

import sysSaved_in_p=sys.stdinsys.stdin=open('input2.txt','r')

2019-11-06 20:31:29 232

原创 分类模型

# -*- coding: gbk -*-import torchimport pandas as pdimport torch.nn as nnimport torch.utils.data as Dataimport torchvision # 数据库模块import matplotlib.pyplot as pltimport torch.nn.func...

2019-11-01 19:54:05 100

原创 csv导入文件并且训练回归模型

参考:https://morvanzhou.github.io/tutorials/machine-learning/torch/3-01-regression/莫烦python# -*- coding: gbk -*-import torchimport pandas as pdimport torch.nn as nnimport torch.utils.data as ...

2019-11-01 17:51:11 1536

原创 TopCoder Single Round Match 762 SRM 762 - Division I, Level One 思维

#include <bits/stdc++.h>#define en '\n'#define ll long longconst int inf=0x3f3f3f3f;using namespace std;const int maxn =2e5+10;#define pb push_backint rd(){int tt;scanf("%d",&t...

2019-10-27 00:29:02 145

原创 Topcoder SRM 764: Div1 Easy Div2 Hard RectangleHunt 判断矩形求面积

题意:给你点集(n<=50)找到4个点构成最大矩形输出面积,没有矩形return -1;解:1、暴力找到4个点2.判断是否为矩形:对角线相等并且中点相同3、面积就是 长*宽 ,长宽就是 1个点到其他3个点构成的边中较小的两个边。#include <bits/stdc++.h>#define en '\n'const int inf=0x3f3f3f...

2019-10-26 20:36:11 121

原创 Topcoder SRM 765: Div1 Easy Div2 Hard FixedPointReversals 思维

题意:给你一个序列(n<=50),和固定点的位置。每次操作都是内部的区间翻转,问是否有可行的方案使得 每次翻转都不改变固定点上的值使得整个区间不下降,并且输出该方案,不可行{-1},解:首先固定点的元素错了那么直接return{-1};1.很容易想到没有固定点的话,n-1次贪心的操作可完成排序。2、考虑固定点,左边和右边的情况。(1)如果初始状态左边的元素最后都在左边...

2019-10-26 10:00:05 131

原创 Codeforces 1248C Ivan the Fool and the Probability Theory 找规律

题意:问n,m的 黑白矩阵,问你有多少种不同的染色方案使得任意一个格子最多只有1个相同颜色的邻居解:1、暴力找规律,2、(1,1)(1,2)(1,3)是一个类似费波那契的规律3、(1,2)(2,3)(3,4)在费波那契的基础上+2 及 sol(i,j)==sol(i-1,j-1)+sol(i-2,j-2)+2;猜测这种规律都可以,简单验证同样符合。#include<...

2019-10-23 20:11:31 294

原创 Codeforces 868D (Codeforces Round #438 D) Huge Strings 思维 and 结论and 吓人

题意:有n+m个01串,前n个串由输入给出,长度和不超过100,后m个串由前面两个串(不一定是前n个串中的串)拼接而成,对于后m个串中的每个串,求出最大的k,使得所有长度为k的01串均被当前的新船包含。解:这里结论就是答案小于等于91.首先知道 答案越大越不可能,2、考虑长度为x,在前n个当中最多也就100个3.在拼接的当中,最多也就100+(x-1)*100个。(后面的乘...

2019-10-22 12:06:13 117

原创 Codeforces 868C - Qualification Rounds 思维

题目:斯纳克和菲利普正在为即将到来的半决赛预赛做准备。他们有一个含有N个问题的银行,他们想选择任何非空子集作为问题集。有K个经验丰富的球队正在参加比赛。这些团队中的一些已经知道了一些问题。为了让比赛变得有趣,每个球队都应该知道不超过一半的问题。确定斯纳克和菲利普是否能做出有趣的问题集!解:只要找到两个相与为0就可以举办比赛。二进制统计即可,******(注意最好出现全0的题目直接举办比...

2019-10-22 10:59:36 111

原创 Codeforces 868B Race Against Time 思维 and 排序

告诉你实际的时间,问你在实际的机械表盘上 两点是否可以不跨越指针到达?(起点终点不在指针上,ac之后知道的)解:得到double 数据之后排序,圆周相邻即可#include<bits/stdc++.h>using namespace std;#define ll long long#define pb push_back#define en '\n'int rd()...

2019-10-22 10:37:52 104

原创 Codeforces 865 D.Buy Low Sell High 贪心 and 优先队列

题意:N天不同的价格,问你最好的方式得到最多的钱。优先队列模拟,从前往后,所有遍历过的都放入优先队列当中,高价卖的那天可能后面还有更小的可以去卖,那么好办法就是让这天可以后悔。那么再push一次就可以后悔了。#include<bits/stdc++.h>using namespace std;#define ll long long#define pb push_bac...

2019-10-22 00:46:32 126

原创 Codeforces 864F - Cities Excursions 贪心 and 构造

题意:题意: 给定一个有向图,询问由s到t的字典序最小的路径的第k个点 输入: 第一行三个整数n(2<=n<=3000),m(0<=m<=3000),q(1<=q<=400000) 接下来m行每行两个整数x,y(1<=x,y<=n且x≠y)表示由x到y有一条路(由城市x到y最多只有一条路) 接下来q行每行三个整数s,t(1<=s,t<...

2019-10-18 17:26:48 122

原创 Codeforces 864E Fire 背包 and 带限制

有截止时间的背包,解:1、对每一物品的截止时间排序。2、保证转移到的时间点在截止时间之前即可#include<bits/stdc++.h>using namespace std;const int maxn =2e3+10;int n,dp[maxn];vector<int>num[maxn];struct node{ int t,d,v...

2019-10-17 16:25:23 104

原创 Codeforces 864C - Bus 思维 and 贪心

解:我们每次判断从 0 or a处可不可以 完成本次旅程。1、判断能不能到达 加油站位置2、如果不是最后一次,判断需不需要加油,若下一次到不了加油站那么就加油3.否则判断可不可以不加油直接到达终点or 加油之后能不能到达终点#include<bits/stdc++.h>using namespace std;int a,B,f,k;signed main()...

2019-10-17 14:42:37 102

原创 Hdu 3308 LCIS 线段树维护最长上升子序列

Given n integers.You have two operations:U A B: replace the Ath number by B. (index counting from 0)Q A B: output the length of the longest consecutive increasing subsequence (LCIS) in [a, b].#i...

2019-10-16 08:47:41 93

原创 Hdu 3308 LCIS 线段树维护最长上升子序列

Given n integers.You have two operations:U A B: replace the Ath number by B. (index counting from 0)Q A B: output the length of the longest consecutive increasing subsequence (LCIS) in [a, b].#i...

2019-10-16 08:45:53 181

原创 P3066 [USACO12DEC]逃跑的BarnRunning Away From… 树上差分

#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <vector>#define en '\n'#define ll long longusing namespace std;const ll inf=0x...

2019-10-15 20:39:23 122

原创 Hdu 6230 Palindrome 马拉车 and 树状数组 2017ccpc 哈尔滨

Alice like strings, especially long strings. For each string, she has a special evaluation system to judge how elegant the string is. She defines that a stringS[1..3n−2](n≥2)is one-and-half palindro...

2019-10-15 14:38:19 167

原创 P3385 【模板】负环 spfa 负环 and 卡界减枝

#include<bits/stdc++.h>#define il inline#define For(i,a,b) for(int (i)=(a);(i)<=(b);(i)++)using namespace std;const int N=50005,inf=23333333;int n,m;const int maxn=N;struct node{ ...

2019-10-15 00:10:26 98

原创 Hdu 6241 Color a Tree 二分 树形dp传递上下界 2017ccpc哈尔滨

题意:给一棵树每个节点刚开始都是白色的,告诉你A+B中约束条件是,某个子树下至少有多少黑,子树之外最少多少黑,问你最少的黑点,可以满足这A+B种限定条件解:1、子树外的下界在已经确定黑点个数的情况下可以转化为 一个子树的上界,2、二分黑点的个数,就转化为判定,一个树上的上下界是否都可行的问题。3、上下界的传递就是下界:儿子的下界求和 传递上来,儿子的上界求和+1(本身)在...

2019-10-13 09:52:46 97

原创 Hdu 6231 K-th Number 二分+ 尺取

题意:给你一个A序列,从长度超过K的区间里面的第k大元素放入B序列,问B序列里面的第M大。n(1e5) a[i]1e9解:1、可以猜到是二分,但是具体怎么二分还是不好想的。2、可以先想到元素越大的话,在B序列里更靠前,越小在B靠后。(你想靠后靠前也行)3、那就可以二分一个值,判定B里面大于等于这个值的数的个数是否大于等于k4、也就是A里长度大于k的区间中,大于等于mid的值大于...

2019-10-12 22:24:06 104

原创 HDU 6237.A Simple Stone Game 贪心 ,素数 2017ccpc哈尔滨

题意:让你转移n堆石子,每次最多转移1个,问最少的次数使得每堆石子的数量是x的倍数解:考虑,最后x一定也是sum的质因子。对所有a[i]求余, 那么大的余数+上一部分就能变成mod 小的余数分到别人身上 自己变成0只从将大的变成mod来分析不会出错,因为从小的考虑的话,可能还是多个小的才凑出来,那么计算会不那么简洁#include<bits/stdc++.h>...

2019-10-12 17:25:28 121

原创 Codeforces863F Almost Permutation 最小费用流

给你n个数 刚开始给定每个数的范围1到n,有q次限制,限制L,r的 范围问最后可能的一种序列,使得重复的数字尽量的少,cost=sigma( cnt(i)^2)#include<bits/stdc++.h>#define en '\n'#define ll long longusing namespace std;const int N=400,M=N*N;co...

2019-10-12 12:44:33 103

原创 Codeforces 863E Turn Off The TV 差分 and 离散化

题意:给你N段线段,输出任意一个可以删掉的线段,删掉之后不改变原来的线段覆盖范围。解:1.将数据离散化保存,每个线段贡献3个数据,l,r,r+12、然后利用基于前缀和线段修改3、线段树查询最值。#include<bits/stdc++.h>#define ll long longusing namespace std;const ll maxn =6e5+1...

2019-10-12 10:17:14 243

原创 Codeforces 863C 1-2-3 周期

题意:一个决策改变固定的石头剪刀布游戏,问你在k轮后,两者得分情况解:#include<bits/stdc++.h>#define ll long longusing namespace std;const ll maxn =1e5+10;const ll inf=0x3f3f3f3f;ll rd(){ll t;scanf("%I64d",&t);retur...

2019-10-11 19:49:57 174

原创 Codeforces 846F Random Query 贡献

给定一个数列AA,随机选取两个值ll,rr(等概率,可以相等),进行以下操作:if l > r : swap(l,r) 对数列A中l,r区间内的数去重得到数列B求数列BB的期望大小。解:考虑每一个数字的贡献 ,这里要考虑对数问题,是有 n*n个l,r 每一个不相等的L,R贡献 两次, 相等的贡献1次(可以说是最简单的F题了)#include<bits...

2019-10-11 16:43:42 184

原创 Codeforces 846E Chemistry in Berland 贪心 and 爆ll

题意:给一个树每个点有值,并且告诉你每两个相邻点直接的转化效率,问你最后能不能满足题目的每个物质的数量要求。解:每个点贪心地向父亲索取,如果多了就直接给父亲,在传递物质的过程当中不能出现爆ll,方法是 在每次用double判断一下 如果传递报ll or 传递之后爆ll 都是不可以的。#include<bits/stdc++.h>#define ll lo...

2019-10-11 15:56:25 162

原创 将一个数列分成两部分求一种分组方式使得两部分异或和的差距最小

1.贪心考虑二进制下每个数字的每一位,偶数个的话,那么就不用考虑这一位的分组,怎么分配在答案里这一位都是02.只考虑奇数的位,那么答案中一定是 A-B 的形式假设A>B 那么首先另A=0,那么异或上最大的线性基,并且尽力吧现在的A的非最高位,尽力变成0,因为A和B是一种异或A变的小的话A,B也会更接近。--->abs(A-B)更小#include &lt...

2019-10-11 14:16:31 552

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除