- 博客(40)
- 资源 (4)
- 收藏
- 关注
原创 leetcode 合并k个排序链表
1.暴力 通过128/137个样例,最终超时当lists为空时,输出NULL即可。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }...
2019-07-24 09:48:14
171
原创 leetcode 判断二分图
图是用邻接表存的,一开始没看清楚理解错了。用BFS染色,若相邻的两个点颜色相同则返回false,否则返回true。注意可能有多个不连通的图,因此需要多遍BFS染色,直到全部染色或提前返回false。class Solution { int mapp[1000][1000],maxp; int color[1000]; public: int ...
2019-07-13 23:23:03
267
原创 leetcode 最长回文子串
1.可用求字符串和其逆序字符串的最长公共子串的方式求解。2.还需改进,防止“aacfcaa”这种情况出现。只需要在更新max之前判断两个字符串的起始位置的索引是否相同,即下标和为母串长度。class Solution {public: string longestPalindrome(string s) { if(s.length()==0)return "...
2019-07-10 19:28:35
167
原创 leetcode 两数相加
1.关于分配内存:malloc返回的指针类型是void*,需要手动强转为需要的类型,而new不需要如此,new的返回类型是类型安全的。2.结构体内方法的应用。3.链表。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ...
2019-07-10 11:16:48
107
原创 最小生成树
kruskal算法将输入的边按照权值大小排序,可以sort也可以用优先队列,优先队列时间复杂度低一点。按照权值由小到大遍历每一条边,如果边的两个顶点不在同一个连通图中,则加入这条边,直到所有的顶点在同一个连通图中。判断是否在同一个连通图可用并查集。注意:并查集要路径压缩,否则会超时。解题前首先判断给定的图是否是一个连通图,若不是则没有最小生成树。#include <iostr...
2019-05-27 21:28:32
138
原创 gui+opencv实现视频行人识别
from tkinter import *import cv2from PIL import Image, ImageTkfrom imutils.object_detection import non_max_suppressionfrom imutils import pathsimport numpy as npimport argparseimport imutilsim...
2019-04-14 19:30:49
740
原创 gui显示摄像头视频
from tkinter import *import cv2from PIL import Image, ImageTkdef video_loop(): success, img = camera.read() # 从摄像头读取照片 if success: cv2image = cv2.cvtColor(img, cv2.COLOR_BGR2RG...
2019-04-07 21:49:00
2936
转载 cs231n(1)
图像分类 目标:已有固定的分类标签集合,然后对于输入的图像,从分类标签集合中找出一个分类标签,最后把分类标签分配给该输入图像。 图像分类流程输入:输入是包含N个图像的集合,每个图像的标签是K种分类标签中的一种。这个集合称为训练集。 学习:这一步的任务是使用训练集来学习每个类到底长什么样。一般该步骤叫做训练分类器或者学习一个模型。 评价:让分类器来预测它未曾见过的图像的分类标签,...
2019-04-04 15:12:25
1667
原创 CodeForces - 1087D-Minimum Diameter Tree
题目大意:给你一棵树,让你分配边权,使树的直径最小。(我们把加权树的直径定义为两个叶子节点之间路径上的权值的最大和)题解:树的一条直径一定要经过两个叶子节点,要使得直径最小,只需要让所有连接叶子节点的边平分所有权值即可,注意精度。叶子节点的度为1,所以找到度为1的所有的点即可。用数组记录每个节点的度,每加入一个边,两点的度分别加一。#include<bits/stdc++.h>...
2019-01-15 20:41:14
175
原创 区域赛 J book
题目链接题解:n==m时输出richman可知价格为0的书书一定会买的,所以先判断价格为0的书的个数,若大于要买的书的个数(num),则inpossible。否则,将价格为0的书剔除,前m-num的书是要买的,前m-num个的书的价格和加上剩下的书的最小价格-1#include<cstdio>#include<cstring>#include<c...
2018-11-12 19:12:33
137
原创 codeforces-D- Labyrinth
题目链接大意:给一个图,向右和向左走的次数是有限的,但是向上和向下可以无限走,问能经过图中哪些点。题解:最开始写了一个简单的bfs,没过,然后学长给了一个样例(下面会写到),确实普通的bfs有些情况会漏掉。后来改为每一次push的时候,先判断上下的点,并添加到队头,然后判断左右的点,并添加到队尾。(并不知道为什么这样写)#include<cstdio>#include&...
2018-10-18 18:02:35
212
原创 CodeForces -Oh Those Palindromes
题目链接题意:给一个字符串,对字符串重新排列使得该字符串含有的回文子串数目最多。题解:先统计每种字符的个数,最开始卡在了如何组合两种或多种字符使回文子串最多,看官方题解,某种字符个数为X,包含X(X+1)/2个回文子串,只需要把每种字符放一起就行了。#include<cstdio>#include<cstdlib>#include<algorithm...
2018-10-15 21:12:25
258
转载 kmp模板
// 模式串最大长度const int MAX_P_LEN = 1024;// next数组,next[i]代表模式串前缀pattern[0-i]的最大公共前后缀// 同时,next[i]也代表当模式串在第i个位置字符失配时,下一次应该用来与当前位置的文本串字符继续比较的模式串字符位置int next[MAX_P_LEN]; // 构建模式串pattern的next数组值void ...
2018-10-08 20:45:50
357
原创 CodeForces - 1060B F - Maximum Sum of Digits
题目链接题意:输入C,找出A,B使得A,B的各个位数字和最大。#include<cstdio>#include<cstdlib>#include<algorithm>#include<iostream>#include<math.h>#include<queue>#include<stack>
2018-10-08 18:33:24
298
原创 CodeForces - 1060D E - Social Circles
题目链接思路:将左边最大和右边最大的合并,再放入重新考虑,知道没有人为止,因为可以有多个圆桌,所以可以简化为下列代码。#include<cstdio>#include<cstdlib>#include<algorithm>#include<iostream>#include<math.h>#include<que...
2018-10-08 18:19:05
430
原创 B. Vitamins
题目链接题解:先分别求含有维生素ABC的花费,暴力用三个循环遍历每一种组合,当有重复的花费时(即两种维生素甚至三种的饮料相同)需要减去重复花费。#include<cstdio>#include<cstdlib>#include<algorithm>#include<iostream>#include<math.h>#i...
2018-09-17 20:25:35
212
原创 D. Vasya and Arrays
题目链接题目大意:给你两个数字字符串,问是否可以转换(相邻相加)成两个相同的字符串,如果不可以输出 -1,如果可以问最大长度是多少。#include<cstdio>#include<cstdlib>#include<algorithm>#include<iostream>#include<math.h>#include...
2018-09-12 19:31:53
467
原创 Diagonal Walking v.2(走对角线)
题目链接题意:给你一个q代表q次询问,然后给出三个数n,m, k。(n,m)代表终点,k代表最多移动的步数。让你求出到达终点的过程中,走对角线的最大步数。思路:当m > k时输出-1(设m是较大的数),当m-n是奇数时有一步不能走对角线所以k--,当走对角线可以直接到达终点,如果剩余的步数是奇数则有两步不能走对角线所以k - 2(画图)。#include <bits/s...
2018-09-09 10:08:39
909
原创 P1057 传球游戏
题目链接ac代码#include<cstdio>#include<cstdlib>#include<algorithm>#include<iostream>#include<math.h>#include<queue>#include<cstring>#include<stri
2018-09-05 18:53:46
203
原创 洛谷P1025 数的划分
#include<cstdio>#include<cstdlib>#include<algorithm>#include<iostream>#include<math.h>#include<queue>#include<stack>#include<cstring>#i
2018-09-05 16:49:27
166
原创 洛谷P4053 建筑抢修(贪心加优先队列)
题目链接https://www.luogu.org/problemnew/show/P4053题解:定义一个结构体,把修楼需要的时间和楼还有多长时间损坏存进去。以损坏时间先后排一下序,优先修快坏的,然后存一个已用时间,再建立一个堆来维护已修的楼用时最大的。如果判断下个楼没时间修了,就把修它需要的时间和已经修的楼中最大的时间比一下谁少。如果当前楼比之前的楼消耗的时间小,那就不修之前最大的楼,...
2018-08-20 21:58:30
292
原创 洛谷 P4753 River Jumping
题目描述有一条宽度为 NN 的河上,小D位于坐标为 00 的河岸上,他想到达坐标为 NN 的河岸上后再回到坐标为 00 的位置。在到达坐标为 NN 的河岸之前小D只能向坐标更大的位置跳跃,在到达坐标为 NN 的河岸之后小D只能向坐标更小的位置跳跃。在河的中间有 MM 个岩石,小D希望能跳到每个岩石上恰好一次。由于小D的跳跃能力太强,小D的跳跃长度有个下限 SS ,但没有上限。现在请你判断他是否...
2018-08-02 12:55:40
162
原创 迪杰斯特拉(邻接表 有向图)
迪杰斯特拉(邻接表 有向图)没有考虑重边 #include "stdafx.h" //ios::sync_with_stdio(false); #include<cstdio> #include<cstdlib> #include<algorithm> #include<iostream> #include<math.h>...
2018-07-31 21:48:19
2088
1
原创 最近公共祖先(并查集)
E - Nearest Common Ancestors POJ - 1330 #include<stdio.h>#include<cstdlib>#include<iostream>#include<cstdio>#include<vector>#include<cstring>#include<stack...
2018-07-05 18:28:35
947
原创 树的直径
A - Roads in the North POJ - 2631 #include<stdio.h>#include<cstdlib>#include<iostream>#include<cstdio>#include<vector>#include<cstring>using namespace std;ty...
2018-07-04 23:30:34
168
原创 洛谷 P1192 台阶问题
题目描述有 NN 级的台阶,你一开始在底部,每次可以向上迈最多 KK 级台阶(最少 11 级),问到达第 NN 级台阶有多少种不同方式。输入输出格式输入格式:两个正整数N,K。输出格式:一个正整数,为不同方式数,由于答案可能很大,你需要输出 ans \bmod 100003ansmod100003 后的结果。输入输出样例输入样例#1: 复制5 2输出样例#1: 复制8说明对于 20\%20% 的数...
2018-07-03 15:30:03
978
原创 51Nod - 1126 求递推序列的第N项
求递推序列的第N项 51Nod - 1126 有一个序列是这样定义的:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.给出A,B和N,求f(n)的值。Input输入3个数:A,B,N。数字之间用空格分割。(-10000 <= A, B <= 10000, 1 <= N...
2018-07-03 13:06:45
141
原创 线段树区间求和最大值最小值模板
#include <string.h> #include <algorithm> #include <stdio.h> #include <math.h> #include <queue> #define MAXN 100010 #define inf 0x3f3f3f3f using namespace...
2018-07-01 16:34:30
486
原创 线段树
C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。 中央情报局要研究敌人究竟演习什么战术,所以...
2018-06-30 09:42:34
130
原创 判断多边形凸凹
#include "stdafx.h"#include<stdio.h>#include<stdlib.h>#include<math.h>#include <iostream>using namespace std;struct point { int x, y;}P[100];int n;//顶点个数int judge()...
2018-06-21 16:39:28
735
原创 动态规划模板
01背包问题:无优化for(int i=1;i<=n;i++){ for(int c=0;c<=m;c++) { f[i][c]=f[i-1][c]; if(c>=w[i]) f[i][c]=max(f[i][c],f[i-1][c-w[i]]+v[i]); }}一维数组优化: 洛谷 p1060for(i...
2018-06-20 14:24:48
334
原创 判断迷宫有多少路径 (dfs)
#include<stdlib.h>#include<stdio.h>int map[6][6];//地图int temp[6][6];//标记int N,M,T,sx,sy,fx,fy;//行,列,障碍数目,起始位置,结束位置int sum=0;//路线的个数int dx[4]={0,1,0,-1};//移动的四个方向int dy[4]={...
2018-06-08 22:44:28
1456
原创 排序
#include<stdio.h>#include<conio.h>#include<stdlib.h>//快速排序int po(int num[],int s,int t){ int le=s,re=t; int c=num[s]; while(le<re){ while(le<re&&num[re]<=c...
2018-05-29 12:35:57
133
原创 快速幂
常规求a的b次幂:int pow(int a,int b){ int r=1; while(b--) r*=a; return r;} 快速幂(一般)int pow(int a,int b){ int r=1,base=a; while(b!=0){ if(b%2) r*=base; base*=base; b/=2; } ...
2018-05-08 22:03:01
116
转载 pygame字体设置
查看系统支持的字体import pygamepygame.init()print(pygame.font.get_fonts())创建 Font 对象# 第一个参数为字体,第二个为字体大小# 直接使用系统字体my_font = pygame.font.SysFont("arial", 16)# 或者从 ttf 文件中载入my_font = pygame.font.Font("my_f...
2018-05-07 22:32:47
5578
1
原创 HDU - 1874 畅通工程续
某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。Input本题目包含多组数据,请处理到文件结束。 每组数据第一行包含两个正整数N和M(0<N<200,0<M...
2018-04-17 22:20:41
169
原创 POJ - 3660 Cow Contest
有n(1<=n<=100)个学生参加编程比赛。给出m条实力信息。(1<=M<=4500)其中每一条的格式为 A B (1<=A<=N,1<=B<=N,A!=B) 意思是A的实力比B强。如果A比B强且B比C强,那么A一定比C强。问最后有多少名学生可以确定他的排名。保证输入信息不存在矛盾Input 第一行n和m。以下m...
2018-04-17 22:19:12
175
原创 二分法基础题
Now,given the equation 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y,can you find its solution between 0 and 100; Now please try your lucky.InputThe first line of the input contains an integer T(1<=T<=10...
2018-04-02 21:22:20
538
原创 数塔(非dp)
在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 已经告诉你了,这是个DP的题目,你能AC吗?非dp解决办法:#include <iostream>#include <algorithm>#include<stdio.h>using ...
2018-03-29 21:12:59
143
转载 HDU1372 Knight Moves(BFS)
题目:A friend of you is doing research on the Traveling Knight Problem (TKP) where you are to find the shortest closed tour of knight moves that visits each square of a given set of n squares on a che...
2018-03-20 22:32:07
147
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人