编程之路
文章平均质量分 62
互联网大喇叭
公众号「互联网大喇叭」,欢迎关注
展开
-
三年经验程序员告诉你,如何确定自己是否适合做程序员
在知乎上看到一个问题,如何确定自己是否适合做程序员?好多答主都说需要智商高,对计算机有兴趣爱好,抽象能力要好。……啊呸,也不知道这些刚下飞机的答主是不是程序员。我在 it 行业工作了三年,换了几家公司,所以就以我三年程序员的经历,来说说做一名程序员需要什么。1、喜欢运动,保持良好的身体去扛住 9962、极强的心理素质,看着每天洗脸盆里的头发丝毫不慌[外链图片转存失败,源站可...原创 2019-10-21 10:19:31 · 3446 阅读 · 6 评论 -
都9102年了,Android 冷启动优化还是只会老三样吗
性能优化一直都是一个 Android 开发者逃不过的话题,启动优化则更是重中之重。启动速度可以直接影响一个 App 的留存率和转化率,没有人会希望自己点击之后还要等一会才打开。但是当我一番调研后发现,网上大部分启动优化相关的文章,套路都差不多,我称之为老三样。什么是老三样?将启动页主题背景设置成闪屏页图片这么做的目的主要是为了消除启动时的黑白屏,给用户一种秒响应的感觉,但是并不会真正...原创 2019-10-16 09:11:33 · 326 阅读 · 0 评论 -
数的划分---动态规划
题目描述Description将整数n分成k份,且每份不能为空,任意两种划分方案不能相同(不考虑顺序)。例如:n=7,k=3,下面三种划分方案被认为是相同的。1 1 51 5 15 1 1问有多少种不同的分法。输入描述Input Description输入:n,k (6<n<=200,2<=k<=6)输出描述Output Descript...原创 2015-05-10 14:33:45 · 5016 阅读 · 0 评论 -
导弹拦截---动态规划
描述某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于等于前一发的高度。某天,雷达捕捉到敌国导弹来袭。由于该系统还在试用阶段,所以只用一套系统,因此有可能不能拦截所有的导弹。输入第一行输入测试数据组数N(1接下来一行输入这组测试数据共有多少个导弹m(1接下来行输入原创 2015-04-08 16:46:13 · 1158 阅读 · 0 评论 -
数论初步---无平方因子的数
这是从刘汝佳的算法竞赛入门经典中看到的题,书中是这么描述的给出正整数n和m,输出在[m, n]中的无平方因子数。PS(无平方因子数的概念请自行百度) #include<stdio.h>#include<string.h>#include<math.h>bool visited[10000005];int prime[500000];int...原创 2015-05-04 18:58:08 · 2394 阅读 · 3 评论 -
STL库---优先队列
题目描述 Description 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。 因为还要花大力气把这些果原创 2015-05-04 16:31:11 · 679 阅读 · 0 评论 -
QT在界面中显示动态图片
我的这个方法是在界面中添加一个label然后在label中显示GIF图片,且动态图片大小会和label大小一样第一步先添加一个资源文件然后把你想要播放的动态图片添加到资源文件中然后在界面中添加一个label控件,剩下的就要写代码了#include "widget.h"#include "ui_widget.h"#include <QMovie>Wid...原创 2015-05-05 13:20:44 · 12722 阅读 · 2 评论 -
我排第几个---康托展开
我排第几个时间限制:1000 ms | 内存限制:65535 KB难度:3描述现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说出这个排列在所有的排列中是第几小的?输入第一行有一个整数n(0随后有n行,每行是一个排列;输出输出一个整数m,占一行,m表示排列是第几位;样例输入原创 2015-05-05 13:54:20 · 826 阅读 · 0 评论 -
完全背包---动态规划
描述直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是c,价值是w。求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大。本题要求是背包恰好装满背包时,求出最大价值总和是多少。如果不能恰好装满背包,输出NO输入第一行: N 表示有多少组测试数据(N接下来每组测试数据的第一行有两个整数M,V。 M表原创 2015-05-15 10:35:51 · 1150 阅读 · 0 评论 -
迪杰斯特拉算法讲解
迪杰斯特拉算法是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题。迪杰斯特拉算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。(百度百科)这里我说一下我对于这个算法的理解, 就是求一个点到其他点的最短路径。我们需要一个二维数组储存图的信息, 开始所有边的权值都设为正无穷, 也就是一个...原创 2015-05-18 15:56:32 · 1738 阅读 · 0 评论 -
和最大子序列---动态规划
问题描述 对于一个给定的长度为N的整数序列A,它的“子序列”的定义是:A中非空的一段连续的元素(整数)。你要完成的任务是,在所有可能的子序列中,找到一个子序列,该子序列中所有元素的和是最大的(跟其他所有子序列相比)。程序要求你输出这个最大值。输入格式 输入文件的第一行包含一个整数N,第二行包含N个整数,表示A。 其中 1 -10000 输出格原创 2015-05-25 08:53:17 · 2457 阅读 · 3 评论 -
Android 自定义View 在 XML文件中使用脱坑
本文主要是针对自定义 View 在 XML 中使用时,出现的 android.view.InflateException :Error inflating class xxx解决这个问题,首先要做的不是谷歌百度,最先该做的是打开的 logcat 面板,搜索自定义 View 的类名,查看异常日志。 如果在异常日志中发现这样一行异常代码java.lang.NoSuchMethodEx...原创 2018-05-15 07:57:56 · 1616 阅读 · 2 评论 -
Unity3D实现再鼠标单击的方向发射子弹
//我的思路就是在鼠标指向的地方生成一条射线,然后在射线的方向上添加一个力//然后就轻松实现在鼠标单击的方向上发射子弹,但是不要忘了要给newoblect实例化一个物体#pragma strictfunction Start () {}var speed : int = 50;var newobject : Transform;var force : int = 3000...原创 2015-03-24 11:29:32 · 18960 阅读 · 0 评论 -
安卓在子线程中如何修改ui界面
1. Android进程一个应用程序被启动时,系统默认创建执行一个叫做"main"的线程。这个线程也是你的应用与界面工具包(android.widget和android.view包中的组件)交互的地方。于是main线程也被称为界面线程。这种单线程的模式会带来低性能,除非你能正确的优化你的程序。打 个比方:用户触摸屏幕上的一个按钮时的点击事件即向线程中派发事件,比如每一个事件为一辆车。而...原创 2015-08-19 09:07:11 · 7385 阅读 · 0 评论 -
装箱问题---动态规划
问题描述 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数)。 要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。输入格式 第一行为一个整数,表示箱子容量; 第二行为一个整数,表示有n个物品; 接下来n行,每行一个整数表示这n个物品的各自体积。输出格式 一个整数,表示箱子剩余空间。...原创 2015-05-09 08:39:55 · 14447 阅读 · 3 评论 -
邮票分你一半
描述 小珂最近收集了些邮票,他想把其中的一些给他的好朋友小明。每张邮票上都有分值,他们想把这些邮票分成两份,并且使这两份邮票的分值和相差最小(就是小珂得到的邮票分值和与小明的差值最小),现在每张邮票的分值已经知道了,他们已经分好了,你知道最后他们得到的邮票分值和相差多少吗?输入第一行只有一个整数m(m接下来有一个整数n(n然后有n个整数Vi(Vi输出输出原创 2015-04-09 16:04:44 · 784 阅读 · 0 评论 -
乘积最大---区间型dp
题目描述 Description今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目: 设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分原创 2015-02-27 15:03:41 · 1985 阅读 · 0 评论 -
迷宫---DFS和BFS解法
题目描述 Description在N*N的迷宫内,“#”为墙,“.”为路,“s”为起点,“e”为终点,一共4个方向可以走。从左上角((0,0)“s”)位置处走到右下角((n-1,n-1)“e”)位置处,可以走通则输出YES,不可以走则输出NO。输入描述 Input Description输入的第一行为一个整数m,表示迷宫的数量。 其后每个迷宫数据的第一行为一原创 2015-03-14 21:31:41 · 3780 阅读 · 0 评论 -
NOIP2006数列
NOIP2006 数列那道题的解 思路清晰 代码尤其优美原创 2015-02-05 16:01:53 · 1765 阅读 · 0 评论 -
石子归并---区间型动态规划
题目描述Description有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并可以合并相邻的两堆石子,一次合并的代价为两堆石子的重量和w[i]+w[i+1]。问安排怎样的合并顺序,能够使得总合并代价达到最小。输入描述Input Description第一行一个整数n(n<=100)第二行n个整数w1,w2...wn (wi <= 100)输出描述O...原创 2015-02-28 14:07:09 · 3516 阅读 · 0 评论 -
逃跑的拉尔夫---题目建议BFS
题目描述 Description年轻的拉尔夫开玩笑地从一个小镇上偷走了一辆车,但他没想到的是那辆车属于警察局,并且车上装有用于发射车子移动路线的装置。那个装置太旧了,以至于只能发射关于那辆车的移动路线的方向信息。编写程序,通过使用一张小镇的地图帮助警察局找到那辆车。程序必须能表示出该车最终所有可能的位置。小镇的地图是矩形的,上面的符号用来标明哪儿可以行车哪儿不行。“.”表示小镇原创 2015-02-27 19:02:13 · 1281 阅读 · 0 评论 -
快速幂取余算法总结详解
废话不多说, 直接步入正题。现在oj网站的题或者竞赛的题,如果a的b次幂且b很大,那么题中大多会让你把结果对一个数取余也就是求模,例如a^b%c这种,当然如果是考高精度的题除外。接下来我将提供一种常规算法和两种竞赛中主流的快幂算法。首先我们设题目要求为a^b mod c常规算法这里我就不多作解释,直接码代码了int mod(int a, int b, int c){...原创 2015-02-12 14:41:03 · 15632 阅读 · 4 评论 -
实用数据结构---最小生成树(克鲁斯卡尔实现)
题目描述 Description学校需要将n台计算机连接起来,不同的2台计算机之间的连接费用可能是不同的。为了节省费用,我们考虑采用间接数据传输结束,就是一台计算机可以间接地通过其他计算机实现和另外一台计算机连接。为了使得任意两台计算机之间都是连通的(不管是直接还是间接的),需要在若干台计算机之间用网线直接连接,现在想使得总的连接费用最省,让你编程计算这个最小的费用。原创 2015-03-08 21:58:53 · 871 阅读 · 0 评论 -
动态规划---合唱队形(LIS问题)
题目描述 Description N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足T1Ti+1>…>TK(1 你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的原创 2015-03-17 19:30:36 · 952 阅读 · 0 评论 -
关押罪犯---并查集操作
题目描述 DescriptionS 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为c 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为c 的冲原创 2015-03-09 18:43:09 · 746 阅读 · 0 评论 -
最大公约数最小公倍数高效算法
一般来说求两个数最大公约数,我们最先想到的是先找到两个数中较小的数,然后从较小的数开始递减暴力搜索,如果能同时被两个数整除,那么这个数就是最大公约数,不能则继续递减。但是当两个数很大的时候,这个算法的效率就变得很差,这时我们就需要一个高效算法。这里我们利用的是中国古代的辗转相除法,关于辗转相除法的思想可以自行百度,我在这里直接贴代码#includeint gcd(int a, i原创 2015-03-29 11:12:40 · 1168 阅读 · 0 评论 -
采药---0-1背包型dp
题目描述 Description辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药原创 2015-03-10 18:54:31 · 1504 阅读 · 0 评论 -
地鼠游戏---贪心
题目描述 Description 王钢是一名学习成绩优异的学生,在平时的学习中,他总能利用一切时间认真高效地学习,他不但学习刻苦,而且善于经常总结、完善自己的学习方法,所以他总能在每次考试中得到优异的分数,这一切很大程度上是由于他是一个追求效率的人。 但王钢也是一个喜欢玩的人,平时在学校学习他努力克制自己玩,可在星期天他却会抽一定的时间让自己玩一下,他的爸爸妈妈也比较信任他原创 2015-03-12 18:59:08 · 975 阅读 · 0 评论 -
区间最值查寻(RMQ问题)
RMQ问题就是区间最小值问题,这是一个非常经典的题,由他引申出来的也是不计其数最多的是给出一个区间,然后输入多组区间端点,求输入区间的最小值。每次用循环来计算一个最小值显然不够快,怎么办呢?实践中最常用的是Tarjan的 Sparse-Table算法,它的预处理时间是O(nlogn),但是查询只需要O(1),而且常数很小。它的思想很简单,就是递推+二分的思想。我们先定义一个二维数组原创 2015-03-01 16:56:37 · 732 阅读 · 0 评论