决定换一个新的博客(blog.csdn.net/sty945) 发现现在的这个博客的用户名一直改不了,看起来太不舒服了,所以决定换一个博客账号,当前账号以后不再更新新博客地址如下:blog.csdn.net/sty945点击切换
python实现简单的用户密码登录控制(输入三次就锁定用户) 问题描述我们经常在登录一些网站的时候,发现我们如果连续的输错好几次密码,我们的帐号就被锁定起来了,那这个过程是如何实现的呢?本程序主要就是解决以下3件事情 1.输入用户名密码 2.认证成功并显示欢迎信息 3.输错三次后锁定解决办法# !/usr/bin/env python# -*- coding: utf-8 -*-# Time: 17-11-18 上午8:45# Author: s
排序算法之归并排序 代码#include <stdio.h>#define N 100int a[N], left[N], right[N];void merge(int start, int mid, int end){ int i, j, k; int n1 = mid - start + 1; int n2 = end - mid; for (i = 0; i < n1;
排序算法之插入排序以及二分插入排序 简单插入排序#include<stdio.h>#include<iostream>using namespace std;#define N 100void InsertSort(int a[], int n){ int i, j, temp; for (i = 1; i <= n - 1; i++) { if (a[i] < a[i - 1]) /
简单小游戏-剪刀石头布的c语言实现 #include <stdio.h>#include <stdlib.h>#include <time.h>int main(void){ char gesture[3][10] = { "scissor", "stone", "cloth" }; int man, computer, result, ret; srand(time(NULL)); while (
爱奇艺图像算法工程师面试 开场这是一位我见过最和蔼的面试官,就像一个老师坐在我的面前一样,之前每次带简历,面试官都带了电脑。这次去之前还在考虑到底要不要带简历,还好去之前打印了一份新的简历,真是做事的态度永远不要因为你经历的一些事而改变。因为面试官只带了一根笔,然后便在我的简历上很认真做标记。几乎我没说一项,他都会做标记,很敬业,很nice。面试官没有问我太多图像处理知识的问题,而是从我的经历来问,问的大多是我本科做过的内容
用python的生成器yield轻松解决8皇后的问题以及斐波拉契数列 def conflict(state, nextX): nextY = len(state) for i in range(nextY): if abs(state[i] - nextX) in (0, nextY - i): return True return Falsedef queens(num=8, state=()):
1 记滴滴实习面试记录 背景时间: 2017/10/13 地点: 文思海辉大厦 面试岗位: python工程师 面试过程面试官挺nice的,问的问题大多其实不难,但是感觉自己没有发挥出自己应该有的水平。 回忆起来大概有这些问题回答的比较卡壳。 1.python生成器的概念。这个问题其实多次看过,但是这次还是没有很好的解释出来,问题应该知其然知其所以然,争取都可以亲自用上。以后遇到一个坑就应该立马补上的。这里有很
求从1到n整数中1出现的次数:O(logn)算法 剑指offer上的一题,但是感觉这位兄弟的解法更好#include<iostream>using namespace std;#define N 2000int cnt(int n){ if (n < 1) { return 0; } int count = 0; int base = 1; int round = n;
求1+2+...+n的前n项和,但不用乘除法、for、while、if、else、switch、case等关键字及条件判断语句 问题求1+2+…+n的前n项和,但不用乘除法、for、while、if、else、switch、case等关键字及条件判断语句解答#include<iostream>using namespace std;int sum(int n){ n && (n += sum(n - 1)); return n;}int main(){ int n; cin >> n;
5 用python进行OpenCV实战之图像变换2(旋转) 前言最近有些其他事情,一周未更新了,实在抱歉。以后争取,每周多更新几次。虽然也不知道能有多少人看到,但是也算自己的一种坚持吧!1 旋转1.1 旋转基本操作旋转的概念正如我们平常听见的一样:将图片选装x度。我们先通过多少度来旋转图片,然后我们将写一个旋转函数。import numpy as np #1import argparse #2import imutils #3import cv2 #4
4 用python进行OpenCV实战之图像变换1(平移) 前言到目前为止,经过前几节的介绍,我们已经有了一个坚实的基础去做一些图像处理,在本节我们将介绍图像变换中的平移、旋转、改变大小1 平移1.1 平移基本操作新建translation.py平移的意思就是将图像沿着x轴、y轴移到,我们可以进行上下左右等各个方向的移动。# -*- coding: utf-8 -*-import numpy as np #1import argparse #2impo
3 用python进行OpenCV实战之画图(直线,矩形,圆形) 前言在上一节我们通过使用NumPy的数组分割成功的在我们的图像上画了一个绿色的方块,但是如果我们想画一个单一的线条或者圆圈该怎么办呢?NumPy没有提供相关的功能,但是OpenCV提供了相关的函数,在本节就将为大家介绍三个基本的OpenCV画图方法:cv2.line() #1cv2.rectangle() #2cv2.circle() #31 画直线和矩形在开始我们用OpenCV画我们的杰作之前
2 用python进行OpenCV实战之图像基本知识 前言在这一节,我们将学习图像的基本构成单元——像素,我们将详细的探讨什么是像素?像素是如何使用来构成图像的?然后学习如何通过OpenCV来获取和操纵像素。1 什么是像素所有的图像都包含一组像素,像素是图像的原始构建块。 没有比像素更细的单位了。 通常,我们将像素认为是在我们的图像给定位置出现的光的颜色或者强度,如果我们将图像考虑成一个网格,在网格中的每个方块都包含一个单一的像素。例如,我们假设有一
1 用python进行OpenCV实战之用OpenCV3实现图片载入、显示和储存 code将下面文档存为load_display_save.py#-*- coding:utf-8 -*-from __future__ import print_function #1import argparse #2import cv2 #3ap = argparse.ArgumentParser() #4ap.add_argument("-i", "--image", require
在装有Ubuntu16.04的VMware虚拟机下安装OpenCV3.2.0 引言最近因为学习需要,要在VMware虚拟机下安装OpenCV,在网上查了一下OpenCV3.3.0目前已经出来了,但是考虑到稳定性问题,决定先装一个3.2.0版本的。需要注意的是,pip可以安装的opencv-python安装并不依赖opencv,只是封装了opencv的Python API,一般情况下也够用。但是如果准备安装完整版本的opencv,这里比较建议将opencv-python卸载,以
2016年不可错过的21个深度学习视频、教程和课程 几年之前,深度学习还是机器学习里面一个不太受人关注的领域。随着神经网络和大数据的出现,很多复杂任务的实现已经成为可能。2009年时,深度学习还是一个新兴领域,只有少数人认为这是一个值得研究的领域。但很快,这个领域就得到了很大的发展,目前已经被应用到很多的领域当中,例如:语音识别、图像识别、在一个数据集当中寻找模式、照片中的事物分类、字符文本生成、自动驾驶汽车等等。因此,了解深度学习及其概念
C++详解Leetcode:106. Construct Binary Tree from Inorder and Postorder Traversal 原题思路通过二叉树的中序遍历和后序遍历来构建二叉树,通过递归可以很简单的解决code/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x),
C++详解Leetcode:105. Construct Binary Tree from Preorder and Inorder Traversal 原题思路通过二叉树的前序遍历和中序遍历来构建二叉树,通过递归可以很容易的解决这个问题,在遇到二叉树的问题,应该习惯先画图再来解决code/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; *
C++详解Leetcode:104. Maximum Depth of Binary Tree 原题思路此题就是计算二叉树的最大深度,通过递归可以很轻松的进行处理code/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(
C++详解Leetcode:103. Binary Tree Zigzag Level Order Traversal 原题思路与102题层次遍历最大的区别就是,此题要求先在开始层从左到右遍历,下一层再从右到左,再从左到右。。。依次类推,所以只要在层次遍历的代码中,加上一个计数变量level记录当前层,初始值为1,当下一个数是下一层时,判断level%2是否等于0,如果level为奇数则从左到右,如果为偶数,则将存储在vector中的这一层数进行逆转,然后存储到最后的结果向量中。codeclass Solution
C++详解Leetcode:101. Symmetric Tree 原题思路主要就是判断一个二叉树是否左右对称,可以通过一个递归函数判断,将当前二叉树设为p,与之相同的另外一个二叉树设为q,通过递归比较p->left和q->right,p->right和q->left,最后得出二叉树是否左右对称code/** * Definition for a binary tree node. * struct TreeNode { * int val; *
C++详解Leetcode:102. Binary Tree Level Order Traversal 原题思想这一题主要考查二叉树的层次遍历,最常用的方法就是用队列去做,但是需要将二叉树的节点值存到一个二维数组中去,然后返回,这需要在队列存储时候做一些操作,通过NULL来标记二叉树的层次代码和详解struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right;};class Solution
1 深入理解计算机系统之计算机系统漫游 进程:操作系统对一个正在运行的程序的一种抽象 并发执行:一个进程的指令和另一个进程的指令是交叉执行的 线程:一个进程实际上可以由多个称为线程的执行单元组成,每个线程都运行在进程的上下文中,并共享同样的代码和全局变量。 虚拟内存:一个抽象的概念,它为每个进程提供了一个假象,即每个进程都在单独的使用主存,每个进程看到的内存都是一致的,称为虚拟地址空间。 并发:一个同时具有多个活动的系统 并行:
关于unity中使用Vuforia制作AR场景如何设置自动对焦的问题(全网独家) 问题不知道大家有没有这样的感受,在使用Vuforia制作时候,导入安装包后,在手机上使用时候镜头会很模糊,往往连识别对象都看不清解决方案在一开始遇到问题时候,在网上一顿狂搜但也没有发现一个行之有效的办法,无奈只能上官方网站上看有没有相关问题的解决办法,还真有,传送门在此,以为就可以解决了,但真是坑啊。官网给的在unity代码如下:void Start () { VuforiaBehavio
关于Unity中不用安装QuickTime播放视频的方法 前言由于Unity中能够识别的视频格式主要有:.mov, .mpg, .mpeg, .mp4, .avi, .asf,但是其实最后这些格式的时候在导入到Unity中的时候,都会再进行一次Unity内部的视频转码,这是一个耗时的操作,而且要保证视频转码的顺利完成,我们还必须安装Quicktime player工具,用于视频的转码。而且当我使用QuickTime时候还遇到导入视频崩溃的问题十分麻烦。
我如何从一个本科双非报考帝都985最后调剂到帝都221的故事 我如何从一个本科双非报考帝都985最后一个调剂到帝都221的故事 先介绍下自己吧,我本科是来自东北的中国第一所石油化工院校,学的的是数字媒体技术,报考的是北京理工大学的计算机技术,数二,英二,总分356,最后调剂到北京林业大学的计算机技术。 复习的很早,从15年上届学生考完之前就开始复习了,15年10月份就开始背单词,12月份的时候xdf的那本红色的单词书便携版已
在c#中ref 和 out关键字的联系和区别 联系out:输出参数;ref:引用参数; 两者都是按地址传递的,使用后都将改变原来参数的数值,且使用方式几乎相同,即在函数定义和函数调用中用作参数的修饰符,实际上,out的执行方式与引用参数几乎完全一样,因为在函数执行完毕后,该参数的值将返回给函数调用中使用的变量。区别把未赋值的变量用作ref参数是非法的,但可以把未赋值的变量用out参数。另外, 在参数中使用out参数时候,必须把它看成尚未赋
树之非递归二叉树先序 中序 后序遍历合集 非递归二叉树前序 中序 后序遍历合集先序遍历算法描述若 p 所指结点不为空,则访问该结点,然后将该结点的地址入栈,然后再将 p 指向其左孩子结点;若p所指向的结点为空,则从堆栈中退出栈顶元素(某个结点的地址),将 p 指向其右孩子结点。重复上述过程,直到 p = NULL 且堆栈为空,遍历结束。中序遍历算法描述若 p 所指结点不为空,则将该结点的地址 p 入栈,然后再将 p 指向其左孩子结点;若 p
树之二叉树的建立与四种遍历(前序,中序, 后序, 层次)及树的深度 前言### 建立### 前序遍历### 中序遍历### 后序遍历### 层次遍历### 求二叉树深度求二叉树宽度二叉树的建立与遍历code#include<stdio.h>#include<malloc.h>#include<iostream>using namespace std;typedef struct BTNode{ char data; struc
树之二叉树的建立与四种遍历(前序,中序, 后序, 层次)及树的深度 前言### 建立### 前序遍历### 中序遍历### 后序遍历### 层次遍历### 求二叉树深度求二叉树宽度二叉树的建立与遍历code#include<stdio.h>#include<malloc.h>#include<iostream>using namespace std;typedef struct BTNode{ char data; struc
北理07年复试上机之实现学生类并实现信息一些操作 题目自定义一个Student类,属性包括:char name[10], int num.编程实现学生信息的输入,查询,浏览,其中浏览分为:升序和降序两种。code#include<stdio.h>#include<vector>#include<math.h>#include<algorithm>#include<iostream>using namespace std;class Stu
北理复试上机之日期计算问题 题目设计一个程序能计算一个日期加上若干天后是什么日期。输入输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。52008 2 29 10002008 2 29 312008 2 29 322007 2 28 312017 2 17 1输出2010-11-252008-03-312008-04-012007-03-312017-02-18代码主要难点在于对于
VS 2015 + Qt 5.8 环境配置 前言之前在网上看见一个Qt + OpenGL实现AR的帖子,便想着实现以下,所以今天打算实现下,工欲善其事必先利其器嘛,所以先配置环境下载安装软件下载vs 2015,傻瓜式安装,但安装时间可能比较长。(其中一定选择“Visual C++”选项)下载Qt 5.8,选择适合自己电脑的版本下载安装,我选的是qt-opensource-windows-x86-msvc2015_64-5.8.0,同样是傻
OpenGL超级宝典之chapter 2 运动的图形(move) 前言运行此程序的前提是已经完全配置好了OpenGL超级宝典程序运行所需要的环境code#include <GLTools.h>#include <GLShaderManager.h>#ifdef __APPLE__#include <glut/glut.h> #else#define FREEGLUT_STATIC#include <GL/glut.h>
北理05年复试上机之实现日期类 题目编写一个日期类,要求按xxxx-xx-xx 的格式输出日期,实现加一天的操作。Input输入第一行表示测试用例的个数m,接下来m行每行有3个用空格隔开的整数,分别表示年月日。测试数据不会有闰年。21999 10 202001 1 31Output输出m行。按xxxx-xx-xx的格式输出,表示输入日期的后一天的日期。1999-10-212001-02-01code#include <ios
北理04年复试上机之一元二次方程 题目建立一个求一元二次方程解的类(a*x^2+b*x+c=0),输入系数a,b,c 的值后打印出这个方程的解。Input输入第一行为样例数m,接下来m行每行3个整数a、b、c。31 -3 21 -2 12 1 2Output输出m行,要求格式如下:若无解则输出-1,若有单解则输出x=..,若有两解则输出x1=…,x2=…,具体参见样例,保留小数点后两位。x1=1.00,x2=2.00x=1.
北理04年复试上机之实现一个多项式的类 题目描述实现一个多项式的类(a+b*x+c*x^2+d*x^3+…+),要求输入该多项式的系数和x的值后打印出这个多项式的值。Input输入第一行为样例数m,对于每个样例,第一行为多项式最高项次数n,接下来n+1个整数表示每项系数,最后一个整数x,n不超过10。121 2 32Output输出m行,表示个多项式代入x后的值。17code#include<stdio.h>#include<ma
关于C语言中的数组指针、指针数组以及二级指针 概念解释数组指针:首先它是一个指针,它指向一个数组,即指向数组的指针;在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道。数组指针指向的是数组中的一个具体元素,而不是整个数组,所以数组指针的类型和数组元素的类型有关。 指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称,即每个元素都是指针。 二级指针 : 如果一个指针指
北理04年复试上机之重载运算符 题目建立一个角类,在这个类中重载减号运算符(角度相减),并实现求出角度的正弦值的函数。Input输入第一行为样例数m,接下来有m行每行两个整数表示角度。Output输出m行,表示两角相减的正弦值,保留小数点后两位。样例输入160 30样例输出0.50code#include<iostream> #include <math.h> using namespace std; double c
图之 最短路径 Floyd算法 最短路径之Floyd算法描述每一对顶点之间的最短路径算法实现#### 初始时设置一个n阶方阵,令其对角线元素为0,若存在弧代码实现#include<stdio.h>#include<iostream>#include<malloc.h>using namespace std;#define maxsize 100#define INFINITY 65535typedef struct{
图之 最短路径 Dijkstra迪杰斯特拉算法 最短路径之Dijkstra迪杰斯特拉算法描述从某个源点到其余各顶点的最短路径算法实现#### 图用带权邻接矩阵存储g.edges[][]#### 数组dist[]存放当前找到的从源点V0到每个终点的最短路径长度,其初态为:若有边则为图中直接路径权值,否则为无穷大#### path[]中保存从v0到vi最短路径的前一个顶点,其初态为:若v0到vi有边则path[vi] = v0,否则path[v
图之 打印从源点到任何一个顶点最短路径所经过的顶点 打印从源点到任何一个顶点最短路径所经过的顶点思路主要用栈去实现代码#include<stdio.h>#include<iostream>#include<malloc.h>using namespace std;#define maxsize 100//用栈打印path[]数组中保存的树即从源点到任何一个顶点最短路径所经过的所有顶点void print(int path[], int a)
图之 最小生成树 Kruskal算法 最小生成树之Kruskal算法说明Kruskal算法的find函数由边决定,时间复杂度为O(log e),而外面有一个for循环e次,所以Kruskal算法得时间复杂度为O(e * log e),适合求边稀疏的网的最小生成树代码#include<stdio.h>#include<stdlib.h>#include<algorithm>#include<iostream>using names
图之 最小生成树 Prim算法 最小生成树之Prim算法说明Prim算法的时间复杂度为O(n^2),适合于求边稠密的网的最小生成树代码#include<stdio.h>#include<stdlib.h>#include<iostream>using namespace std;#define INFINITY 65535 // 表示无穷大#define maxSize 50#define OK 1typedef i
图之 宽度优先遍历 DFS 邻接矩阵建立的图 天勤高分笔记 DFS 邻接矩阵#include<stdio.h>#include<stdlib.h>#include<iostream>using namespace std;#define maxSize 50#define OK 1typedef int VertexType;typedef int EdgeType;typedef struct{ VertexType v
图之 宽度优先遍历 BFS 邻接表创建的图 BFS 邻接表创建#include<stdio.h>#include<iostream>using namespace std;#define MaxSize 100typedef int VertexType;typedef int EdgeType;typedef struct ArcNode { int adjvex; struct ArcNode *nextarc;
图之 邻接表 邻接矩阵 结构体定义 邻接表 邻接矩阵 结构体定义使用邻接表时候的结构体定义#include<stdio.h>#include<iostream>using namespace std;#define MaxSize 100typedef int VertexType;typedef int EdgeType;//边表结点typedef struct ArcNode { int adjvex; //邻
二叉树的建立与遍历 前言### 建立### 前序遍历### 中序遍历### 后序遍历### 层次遍历### 求二叉树深度- ### 求二叉树宽度二叉树的建立与遍历code#include<stdio.h>#include<malloc.h>#include<iostream>using namespace std;typedef struct BTNode{ char data;
hdu 1312 DFS深度搜索典型例题 题目链接Problem DescriptionThere is a rectangular room, covered with square tiles. Each tile is colored either red or black. A man is standing on a black tile. From a tile, he can move to one of f
Win7下安装Python图像处理库PIL、pytesser、tesseract进行验证码识别 前言今天看见一个关于Python进行验证码识别的文章,其中代码很短,但是感觉很有趣,加上最近也在学习一些简单的Python知识,所以决定实验一下准备工作PIL版本选择从网上搜索得知,PIL官方只有32位的安装文件,安装时会提示找不到python的安装路径。64位Win7下无法安装PIL库的原因是:PIL官方http://www.pythonware.com/products/pil/提供的PIL二进
sql server 2008 安装中遇到的问题之Sql Server服务远程过程调用失败解决 前言在安装sql server 2008 后启动不了出现了如图所示的提示 解决方案由于电脑中装了vs2015和vs 2010,所以他们自带的数据库,对此产生了干扰,故将相应的干扰卸载即可 在应用卸载中找到sql server 20** LocalDB这样的程序,卸载即可 重新启动sql server配置工具 恢复正常
寒假集训四之判断长方形问题 hdu5258 暴力枚举 数长方形Problem Description小度熊喜欢玩木棒。一天他在玩木棒的时候,发现一些木棒会形成长方形。小度熊可能是处女座吧,他只会将木棒横竖摆放,这样会形成很多长方形。现在给你一些横竖摆放的木棒,请你帮小度熊数一数形成了多少个长方形。为了简化题目,一个木棒的端点不会在另一个木棒上,也就是说,木棒的端点不会在长方形上。Input第一行一个整数T,表示T组数据,不超过100组。每组数据中,第一
sublime插件安装插件问题以及高亮显示 前言昨晚突然想换一种编译器,一直久仰vim和sublime的大名,由于在Linux上尝试过vim,所以决定在Windows上尝试下sublime,于是百度了下sublime,找了st2下载了,但发现网上很多教程已经是关于st3的了,于是将其卸载,换成了st3,发现这款编辑器的插件功能太强大了,对代码的高亮显示简直让人有种赏心悦目的感觉。sublime安装官网安装地址:http://www.subli
python 入门之序列 序列有最常用的两种类型:列表元组主要区别 列表和元组的主要区别在于,列表可以修改而元组不可以修改 通用序列操作:索引分片加乘以及检查某个元素是否属于序列的成员注意:分片赋值>>> name = list('Perl')>>> name['P', 'e', 'r', 'l']>>> name[2:] = list('ar')>>> name['P', 'e',
HDU 5625 Clarke and chemistry 模拟 Clarke and chemistryTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 145 Accepted Submission(s): 75Problem DescriptionClarke is a
寒假集训3 c 求N个数中 取两个数的最大公约数 hdu 5207 题目链接Problem DescriptionPick two numbers ai,aj(i≠j) from a sequence to maximize the value of their greatest common divisor. InputMultiple test cases. In the first line there is an
寒假集训3 a 斐波拉契 大数相加 题目链接解析:主要还是简单大数相加#include#include#includeusing namespace std;#define ll long long#define MAX 205int f[MAX][MAX];//char f[MAX][MAX];char s[MAX];int main(){// freopen("E:\in
寒假集训2 I 二分 hdu 5178 Problem ITime Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 9 Accepted Submission(s) : 1Font: Times New Roman | Verdana | GeorgiaFont S
寒假集训2 H hdu 5265 贪心 题目链接Problem DescriptionPog and Szh are playing games.There is a sequence with n numbers, Pog will choose a number A from the sequence. Szh will choose an another number named B from the rest
寒假集训2 c 时钟问题 hdu 5387 原文链接Problem C Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/65536K (Java/Other)Total Submission(s) : 1 Accepted Submission(s) : 1Font: Times New Roman | Verdana | Georgi
寒假集训2 B hdu 5272 关于二进制 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5272判断一个数中有多少组不连续的1,注意是组,即1101有2组,101也有两组主要通过移位运算判断#include #include #include#include#include#include#includeusing namesp
寒假集训02 J hdu 5303 DP+枚举 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5303题意:在一圈长为l的圆圈周围种了n棵苹果树有一个容积为k的篮子圆圈的原点是0,顺时针方向记录了苹果树的位置以及苹果的数量将苹果全部摘完,最少需要走多少路篮子装满就必须走回原点题目分析:对这个环,有3种操作:1.顺时针过去取2.逆时针过去取
hdu 2079 选课时间 DP动态规划 母函数 穷举 寒假集训1 07 原题链接这题困扰很长时间,感觉有思路,却又无从下手,考虑到穷举,但实在没耐心,再而想到是DP,但是确实转移方程不好想到,最后用DP果然代码最短而且速度快,网上说母函数也可以做,关于母函数一直没有弄懂,该找个时间好好练一练了/*Description:DPAuthor:styData:2016/1/11*/#include#include#incl
hdu 2094 产生冠军 寒假集训1 09 原文链接思路一:产生冠军的条件:(1)获胜的人没输过一次(2)最终获胜的人只有一个思路二:观察一下,可以看到其实只要总元素数-失败者==1就可以输出YES了。。思路三:左边的为胜利者,右边的为失败者,如果左边的胜利者只有一个没在右边出现过,那么这个就是产生的冠军,否则产生不了。#include#include#include#includeusing names
HDU-2089 不要62 寒假集训1 08 原文链接这题大部分方法采用数位DP可做,但是采用bool类型标记更简便#include#include#include#includeusing namespace std;#define N 1000005bool a[N];bool f(int num){ int len, i; char s[10]; sprintf(s, "%d", n
hdu 2097 Sky数 寒假集训1 06 原题链接思路:其实只需求各个位数之和,不需要进行进制转换,开始想的复杂了,同时采用函数进行书写,可大大提高效率和减少代码量#include#include#include#includeusing namespace std;int f(int n, int m){ int sum = 0; while (n) { sum += n % m; n
hdu 2072 单词数 寒假集训1 -03 链接#include#include#include#includeusing namespace std;char a[10000];char b[10000][100];int main () { // freopen("E:\input.txt", "r", stdin); char *c=NULL,*d=NULL; //指针初始化!!! i
组合数学中的Turan定理 FOJ 月赛 原文链接Problem A 据说题目很水Accept: 113 Submit: 445Time Limit: 1000 mSec Memory Limit : 32768 KB Problem DescriptionSunday最近对图论特别感兴趣,什么欧拉回路什么哈密顿回路,又是环又是树。在看完一本书后,他对自己特别有信心,便找到大牛牛犇犇
hdu 5538 House Building 巧妙利用数组来模拟(2015ACM/ICPC亚洲区长春站-重现赛 ) 原题链接源代码:#include#include#includeusing namespace std;#define N 55#define M 55int c[N][M];int main(){ // freopen("E:\input.txt", "r", stdin); int t; int i, j; int n, m;
POJ1979 DFS 题目链接#include#includeusing namespace std;#define N 100char map[N][N];int w, h;int dfs(int i, int j){ if (i >= 0 && i = 0 && j < w) { if (map[i][j] == '#') {
poj 2318 与 poj 2398计算几何 叉乘积运用 原文链接给定一个如上的长方形箱子,中间有n条线段,将其分为n+1个区域,给定m个玩具的坐标,统计每个区域中的玩具个数。 解答:对每个玩具,二分线段下标,判断在线段左边还是右边,找到之后进行统计即可误区:开始第一反应是判断点在矩形内外的问题,但是依次判断,明显会超时的#include#include#include#includeu
hdu 1966 /poj 2066 Minimax Triangulation 计算几何 原文链接: hdu poj 题目大意:给你n个点围城的多边形,顺时针或者逆时针给你,起始点任意,让你把他划成n-2个三角形,这些划法中最大的三角形的面积最小,输出这个最小值。思路:按照区间长度进行DP。对于 i~j 这些点,考虑新加入的点是j,那么就多了两条弦 i~j,j-1 ~j,对于 i~j 这条弦,加进去,它能围成的是 Aea2(i,k,j),i<k<j
hdu 1086 计算几何 线段求交 原文链接 我们分两步确定两条线段是否相交: (1)快速排斥试验 设以线段 P1P2 为对角线的矩形为R, 设以线段 Q1Q2 为对角线的矩形为T,如果R和T不相交,显然两线段不会相交。 (2)跨立试验 如果两线段相交,则两线段必然相互跨立对方。若P1P2跨立Q1Q2 ,则矢量 ( P1 - Q1 ) 和( P2 - Q1 )位于矢量
sjtu 4020 数列游戏 动态规划 4020. 数列游戏Description在纸上写了一串数字:1,1,2,5,4。接着,擦掉了一个1,结果发现剩下1,2,4都在自己所在的位置上,即1在第1位,2在第2位,4在第4位。现在,我们希望擦掉某些数后,剩下的数列中在自己的位置上的数尽量多。Input Format第一行为一个数n(n ≤ 1000),表示数列的长度。接下来一行为n个用1个空格隔开的正整
BestCoder Round #43 HDU 5065 关于数字取余的问题 pog loves szh IITime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 459 Accepted Submission(s): 123Problem DescriptionPog and Szh
hdu 5056 题目链接题目大意:计算在子串中每个小写字母出现次数不超过k次的个数官方题解:#include#include#include#include#includeusing namespace std;char str[100010];int cnt[30];int main(){ int T,k,i; scanf("%d",&T)
hdu 1422 重温世界杯 重温世界杯 问题模型 环形序列的最长非负连续子序列#include #includeint a[200010]; //存储生活费和花费之差int ans[200010]; //ans[i] 存储的是以i结尾最优值int main(){ int n; int i; int w, l; while
2015 百度之星1001搬家 组合问题 大搬家 Accepts: 1516 Submissions: 6288 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Problem Description近期B厂组织了一次大搬家,所有人都要按照指示换到指定的座位上
2015辽宁省赛被大工狂虐之后的总结 刚好看了一篇网友的博客是关于acm省赛后的总结,觉得自己也有必要总结一下。从最初的准备比赛说起吧!说到备赛,大概可以算从3月份的寒假开始的,当时才算真正的接触acm,现在想起来真的是起步太晚了,从hdu的1001开始了acm的征途,开始做题的时候真的是煎熬,虽然英语还不错,但是读起题目来已久费劲。没办法只能一步一个脚印,按部就班来做,做了hdu的一些水题后,开始在网上找同类型的题目,基本把po
hdu 4704 费马小定理+快速幂 题目链接题意:给定一个数n 将其分解,Si 表示将n拆成i个数的方案数求sum( si ) 1分析:隔板原理, n个木棍,n-1个缝,分成1份则是C(n-1,0);分成2份则是C(n-1,1);分成3份则是C(n-1,2);...分成n份则是C(n-1,n-1);ans = sum( C(n-1
hdu 5178 二分查找 原文链接源代码1:#include#include#includeusing namespace std;int main(){ long long int i,j,k,l,r,n,t,m,mid; long long int a[100005]; scanf("%d",&t); while(t--) { long long int ans=0; sca
poj 3070 /* Name: PKU3070 Copyright: http://blog.csdn.net/shiren_bod/article/details/5771919 Author: sty Date: 15/1/19 16:35 Description: 矩阵乘法 斐波拉契 快速幂算法 */#includeusing namespace std;const in
poj 1189 DP 题目来源法一://2015/4/14#include #include #include #include using namespace std;#define N 60int n, m, num;bool tra[N*N]; //表示是否有钉子,true则有,false则无long long dp[N][N]; //因为钉子最多有50层,2<<5
poj 1321 题目来源源代码:#include#include using namespace std;char pic[8][8];int col[8];//列的访问状态int c;int n,k;void dfs(int begin,int num){ for(int j=0;j<n;j++) { if(pic[begin][j]=='#' && col[j]==0)
计算几何与图形学有关的几种常用算法(二) 原文链接3.6 用矢量的叉积判断直线段是否有交 矢量叉积计算的另一个常用用途是直线段求交。求交算法是计算机图形学的核心算法,也是体现速度和稳定性的重要标志,高效并且稳定的求交算法是任何一个CAD软件都必需要重点关注的。求交包含两层概念,一个是判断是否相交,另一个是求出交点。直线(段)的求交算法相对来说是比较简单的,首先来看看如何判断两直线段是否相交。
计算几何与图形学有关的几种常用算法(一) 原文链接我的专业是计算机辅助设计(CAD),算是一半机械一半软件,《计算机图形学》是必修课,也是我最喜欢的课程。热衷于用代码摆平一切的我几乎将这本教科书上的每种算法都实现了一遍,这种重复劳动虽然意义不大,但是收获很多,特别是丢弃了多年的数学又重新回到了脑袋中,算是最大的收获吧。尽管已经毕业多年了,但是每次回顾这些算法的代码,都觉得内心十分澎湃,如果换成现在的我,恐怕再也不会有动力去做这些事