精华内容
下载资源
问答
  • 1、先看仔仔细细的看错误信息 2、如果错误信息看不懂,就看API. 3、自后还是不懂,就上网查看。...3、想问题要从需求想起。我想得到什么,如何得到,下一个需求什么,一个个递归下去。这样就不会乱了!!...

    1、先看仔仔细细的看错误信息

    2、如果错误信息看不懂,就看API.

    3、自后还是不懂,就上网查看。

    我常犯的错误:

    1、命名重复,不谨慎,要注意!!

    2、使用自动倒包工具,使类不是我想要的那个,要注意!!

    3、想问题要从需求想起。我想得到什么,如何得到,下一个需求什么,一个个递归下去。这样就不会乱了!!

    展开全文
  • ![图片说明](https://img-ask.csdn.net/upload/201912/29/1577617182_119061.png) ryu安装遇到问题,不知道该怎么办了,大佬们求指教啊
  • 偶尔几次在做题的时候,会发现好好的代码,复杂度分析完全没有问题,但是一提交就TLE,这个问题困扰了我很久,到今天又做了一道这样的题,决定好好总结一下, 首先最常见的原因,c++中的cin和cout都要比c中的scanf...

    偶尔几次在做题的时候,会发现好好的代码,复杂度分析完全没有问题,但是一提交就TLE,这个问题困扰了我很久,到今天又做了一道这样的题,决定好好总结一下,

    • 首先最常见的原因,c++中的cin和cout都要比c中的scanf与printf用的时间长,但是需要注意的是while(scanf()!=EOF)while(scanf()!=EOF)一定要添加!EOF这一项,因此一般情况下推荐scanf,printf;接下来是讲述这两者的区别:c++的输入输出是有兼容性的:cin与stdin是一样的, 可以混用,也就是说一个程序里面可以一会用cin一会用stdin。cout和stdout是一样的,可以混用。因为c++要解决这样的兼容性的问题,所以对内存的开销等要求就应该比c更高。所以可以知道了c++的输入输出流比c的慢。
    • stl的使用也需要注意:空间几何问题使用map存储已有点对,空间几何用map存储点对,或者map的key值是double一般都会造成TLE的问题。map的读取,插入的复杂度的确是O(logn)O(\log n),但是复杂类型的hash可能并没有这么容易,一般这时候直接用动态数组存储后排序再处理是比较不错的选择。queue偶尔也会造成类似的问题,比如在例题中,如果我们调stl中的queue则TLE,但是如果手写一个queue就很快。
    • double类型乘除法的大量使用,可以用int,ll做的一定不要用double,double的计算效率很低,并且存在精度问题。
    • 大量使用string类型的变量,题目链接请大家比较下面两个dfs的过程,第一个算法运行很快,200ms左右,但是第二个算法直接就T飞了,两个算法的大体框架是一样的,但是第二个算法大量的使用了to_string并且参数也是一个不断增加的string类型,相比较之下第一个算法只用了一个char[20]就完成了所有工作。string虽好,可不要乱用啊。
    • 头文件引用过多,建议每次代码只使用必要的头文件

    两个算法的比较:
    在这里插入图片描述

    //200ms
    void dfs(int pre, char pchar, int k, ll cnt) {
    	if (k > n) {
    		if (cnt == 0) {
    			if (res <= 19) {
    				for (int i = 1; i < n; i++)printf("%d %c ", i, str[i]);
    				printf("%d\n", n);
    			}
    			res++;
    		}
    		return;
    	}
    	for (int i = 0; i < 3; i++) {
    		if (s[i] == '+') {
    			str[k - 1] = '+';
    			dfs(k, '+', k + 1, cnt + k);
    		}
    		else if (s[i] == '-') {
    			str[k - 1] = '-';
    			dfs(k, '-', k + 1, cnt - k);
    		}
    		else {
    			if (abs(pre) >= 123456789)return;//要大于这个必定是超过9位的数,那么1112131415
    			str[k - 1] = '.';
    			ll val = pre * (k < 10 ? 10 : 100) + k;
    			if (pchar == '+')
    				dfs(val, pchar, k + 1, cnt - pre + val);
    			else
    				dfs(val, pchar, k + 1, cnt + pre - val);
    		}
    	}
    }
    
    //TLE
    void dfs(int pre, char pchar, int k, int cnt, string str = "") {
    	if (k > n) {
    		if (cnt == 0) {
    			if (res <= 19)cout << str << endl;
    			res++;
    		}
    		return;
    	}
    	for (int i = 0; i < 3; i++) {
    		if (s[i] == '+')
    			dfs(k, '+',  k + 1, cnt + k, str + " + " + to_string(k));
    		else if (s[i] == '-')
    			dfs(k, '-', k + 1, cnt - k, str + " - " + to_string(k));
    		else {
    			ll val = stoll(to_string(pre) + to_string(k));
    			if (pchar == '+')
    				dfs(val, pchar, k + 1, cnt - pre + val, str + " . " + to_string(k));
    			else
    				dfs(val, pchar, k + 1, cnt + pre - val, str + " . " + to_string(k));
    		}
    	}
    }
    
    展开全文
  • CPU使用率过高了怎么办呢 可以使用linux自带性能诊断工具perf,perf以性能事件采样为基础,不仅可以分析系统的各种事件和内核性能,还可以用来分析指定进程的性能问题。 perf用法 perf top perf top可以显示占用...

    参考自文章 https://time.geekbang.org/column/article/70476

    什么是CPU使用率
    linux作为一个多任务操作系统,将每个cpu的时间划分成很短的时间片,再通过调度器轮流分配给各个任务使用,因此造成多任务同时运行的错觉。
    为了维护CPU时间,linux通过事先定义好的节拍率(内核中表示为HZ),触发时间中断,并使用全局变量Jiffies记录了开机以来的节拍数,每发生一次时间中断,Jiffies的值就加1。
    节拍率HZ是内核的可配置选项,可以配置为100,250,1000等,不同的系统可能设置不同的值,可以通过查询/boot/config内核选项来查看它的值

    # 说明此系统每秒触发250次时间中断
    grep 'CONFIG_HZ=' /boot/config-$(uname -r)
    CONFIG_HZ=250
    

    同时,正因为节拍率HZ是内核选项,所以用户空间程序并不能直接访问,为了方便用户空间程序,内核还提供了一个用户空间节拍率USER_HZ,它总是固定为100,也就是1/100秒。
    linux通过/proc虚拟文件系统,向用户空间提供了系统内部的状态信息,而/proc/stat提供的就是系统cpu和任务的统计信息。比方说你只关心cpu的话,可以执行下面的命令查看

    #只保留cpu的数据
    cat /proc/stat | grep ^cpu
    cpu  1117 730 1340 6763 155 0 207 0 0 0
    cpu0 725 453 828 2981 46 0 99 0 0 0
    cpu1 392 277 511 3782 109 0 108 0 0 0
    

    命令输出的是一个表格,第一列表示哪个cpu,比如cpu0、cpu1,其中第一行表示所有的cpu,后面的列是指不同场景下cpu的累加节拍数,单位是USER_HZ,也就是10ms(1/100秒),所以这其实是不同场景下的CPU时间。
    需要了解每一列所表示的CPU时间,各个列依次为:
    user(通常缩写为us),代表用户态CPU时间,它不包括nice时间,但是包括guest时间;
    nice(通常缩写为ni),代表低优先级的CPU时间,也就是进程的nice值被设置为1-19的用户态时间,nice值的设置范围为-20~19,数值越大,优先级反而越低。
    system(通常缩写为sy),代表内核态CPU时间;
    idle(id),代表空闲时间,注意它不包括等待I/O的时间;
    iowait(wa),代表等待I/O的CPU时间;
    irq(hi),处理硬中断的CPU时间;
    softirq(si),处理软中断的CPU时间;
    steal(st),当系统运行在虚拟机中时,被其他虚拟机占用的CPU时间;
    guest(guest),通过虚拟化运行其他虚拟机的时间,也就是运行虚拟机的CPU时间;
    guest_nice(gnice),代表以低优先级运行虚拟机的时间。
    而我们所说的cpu使用率是除了空闲时间以外的其他CPU时间占用总的CPU时间的比例:
    cpu使用率=1-idle/total。
    而/proc/stat中的cpu时间是开机以来的时间,一般没啥参考价值,一般工具的算法是取一段时间的CPU使用率:
    cpu使用率=1-(idel2-idel1)/(total2-total1).
    进程的cpu使用率如何来计算呢?通过/proc/[pid]/stat来计算,共52列,用时可通过man proc来查看。
    真正要查看CPU使用率的时候可以使用现成的工具,这些工具都是查看一段时间的CPU使用率,所以要注意设置时间间隔,尤其是多个工具对比时。如top和ps,top默认是3秒的时间间隔,而ps则是进程的整个生命周期。
    top命令

    top - 14:41:13 up 37 min,  1 user,  load average: 0.00, 0.00, 0.00
    Tasks: 113 total,   1 running, 112 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem :  8175016 total,  6641920 free,   135088 used,  1398008 buff/cache
    KiB Swap:  1003516 total,  1003516 free,        0 used.  7730284 avail Mem
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
        4 root      20   0       0      0      0 S   0.3  0.0   0:00.99 kworker/0:0
        1 root      20   0   37924   5988   4024 S   0.0  0.1   0:01.94 systemd
        2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd
        3 root      20   0       0      0      0 S   0.0  0.0   0:00.17 ksoftirqd/0
    

    pidstat 可以查看每个进程的CPU使用率的情况

     pidstat 1 5
    Linux 4.4.0-169-generic (ubuntu) 	01/09/20 	_x86_64_	(2 CPU)
    
    14:44:05      UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command
    
    14:44:06      UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command
    
    14:44:07      UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command
    14:44:08        0         4    0.00    1.00    0.00    0.00    1.00     0  kworker/0:0
    14:44:08        0      1461    0.00    1.00    0.00    0.00    1.00     1  containerd
    14:44:08        0     10561    1.00    0.00    0.00    0.00    1.00     1  pidstat
    
    14:44:08      UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command
    14:44:09        0     10561    0.00    1.00    0.00    0.00    1.00     1  pidstat
    
    14:44:09      UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command
    
    Average:      UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command
    Average:        0         4    0.00    0.20    0.00    0.00    0.20     -  kworker/0:0
    Average:        0      1461    0.00    0.20    0.00    0.00    0.20     -  containerd
    Average:        0     10561    0.20    0.20    0.00    0.20    0.40     -  pidstat
    

    CPU使用率过高了怎么办呢
    可以使用linux自带性能诊断工具perf,perf以性能事件采样为基础,不仅可以分析系统的各种事件和内核性能,还可以用来分析指定进程的性能问题。
    perf用法
    perf top
    perf top可以显示占用CPU时钟数最多的函数或者指令,用来查找热点函数。

    
    $ perf top
    Samples: 833  of event 'cpu-clock', Event count (approx.): 97742399
    Overhead  Shared Object       Symbol
       7.28%  perf                [.] 0x00000000001f78a4
       4.72%  [kernel]            [k] vsnprintf
       4.32%  [kernel]            [k] module_get_kallsym
       3.65%  [kernel]            [k] _raw_spin_unlock_irqrestore
    ...
    

    输出结果的第一行包含三个数据,分别是采样数(Samples)、事件类型(event)以及事件总数,即采样了833个CPU时钟事件,事件总数是97742399。
    接着往下看,
    第一列Overhead,表示该符号的性能事件在所有采样事件总数中的比例;
    第二列Shared,表示该函数或者指令所在的动态共享对象,如内核、进程名、动态链接库名、模块名等;
    第三列Object,表示动态共享对象的类型,如[.]表示用户空间的可执行程序或者动态链接库,[k]表示内核空间;
    第四列Symbol,符号名,也就是函数名,当函数名未知时显示一串16进制数。
    perf record perf report
    perf top 虽然实时展示了系统的性能信息,但是它的缺点是不保存数据,也无法用于离线或后续的分析。而perf record则可以保存数据,之后使用perf report来分析。

    
    $ perf record # 按Ctrl+C终止采样
    [ perf record: Woken up 1 times to write data ]
    [ perf record: Captured and wrote 0.452 MB perf.data (6093 samples) ]
    
    $ perf report # 展示类似于perf top的报告
    

    在实际使用perf top和perf record时,通常会加-g参数,开启调用关系的采样,方便我们根据调用链来分析性能问题。

    展开全文
  • <p>Could not find plugin "proposal-class-properties"  </p>
  • 余老师在培训课程中通过亲身的经历,讲述了一个观点:当解决问题遇到瓶颈,一时解决不了应该怎么办?余老师还专门解释了什么是瓶颈,你收集到数据证明出来的结果和你当初假设的命题是违背的。讲到自己女儿在写读博士...

    近期偶然听到到余世维博士的一个课程中的观点。觉得讲的很有道理,特别感到对于身为顾问而言,在解决问题时遇到瓶颈几乎是常态。如何应对?不妨听听专业人士的经验和建议。

    余老师在培训课程中通过亲身的经历,讲述了一个观点:当解决问题遇到瓶颈,一时解决不了应该怎么办?余老师还专门解释了什么是瓶颈,你收集到数据证明出来的结果和你当初假设的命题是违背的。讲到自己女儿在写读博士论文时遇到瓶颈,写不下去。余老师建议女儿,干脆什么也不要做,去渡个假。女儿问:“那有心情吗?余老师回答:”你心情不好又能解决吗?“于是,女儿就请了一周的假,出去旅行。到了巴黎,坐在塞纳河旁边的左岸喝着咖啡。看到河边的风景及人物时,突然间触动了她的灵感。她就马上拿起纸笔当场记下。于是,很快结束了巴黎之行,回来学校。打开论文检查,发现原先某个假设条件是错误的。找到问题也就很快得到了解决。余老师总结,这个过程其实是一种沉淀。如果当初一直在那里纠结,挣扎,一直加班,不眠不休,弄得很辛苦也不会有结果。不如沉到最底下想出来方法来。

    听完余老师的讲述,特别有感触。结合自己的工作经历,觉得确实如此。每当此时,暂时交问题放下,将注意力转移。去做点其它的事情。不管如何,先从问题中跳出来,调整身心及状态。觉得放松了,精力状态恢复了。再重新出发。让人惊奇的是,很大机率重新进入问题时,并不太费力就可以找到问题的解决方法。有时会颇感神奇,大家今后在解决问题遇到瓶颈时不妨一试。

    展开全文
  • 遇到问题怎么办

    2007-11-11 12:11:00
    大学的时候,重装操作系统,我都是一遇到问题就慌了,思考都不思考一下,就找人来问,问题暂时得到解决了,可是下次呢?发生问题其实就是提供了一次学习的机会,如果当时自己换一种解决方式,自
  • <link rel="stylesheet" href="style/base.css" type="text/css"> <script type="text/javascript" src="js/jquery-1.8.3.min.js">... //$("#banner_info").click(function(){window.open($("#banner_...
  • 服务器出现故障问题应该怎么办

    千次阅读 2020-07-09 10:53:53
    服务器是精密的电子设备,在使用的过程中难免会遇到运行故障。当服务器发生硬件故障时候,机房运维人员会对服务器进行全面的检测。当内存、硬盘等硬件发生故障以后,是需要客户自己去购买新的硬件在邮寄到机房,由...
  • 女程序员遇到问题
  • 但是关键问题是原来设计的时候根本没有考虑原来数据库的问题,项目经理也没有说要整合原有的数据库。要从头做的话很多东西都需要从新做。但是这不是关键,关键是他原来的数据库有将近一百五十个表,而且极少有注释的...
  • 原标题《弘辽电商主题四:淘宝店遇到恶意敲诈怎么办?客服应该如何应对?》 淘宝一个这么大的平台上面,不可避免会出现一些恶意敲诈的买家,面对这样的买家,其实也很让卖家们无奈,往往不太明白应该要选择什么样的...
  • 在我们开发使用Spring Security的Web应用时,有的时候会遇到RequestRejectedException,这时候应该怎么办呢 ? 实际上,RequestRejectedException是Spring Security的防火墙机制抛出的。如果遇到了该异常,开发人员...
  • 对于大家来说最怕的就是考试时出现了不会答的问题,给大家最后几招法宝,告诉大家在不会的时候应该写些什么。一、马哲马哲无非是考那几个原理嘛,唯物论部分主要就是人与自然的关系。辩证法核心原理包...
  • 遇到概率性BUG怎么办

    2021-01-10 17:03:19
    有人说根本不会有偶现的BUG,它在某种环境状态下是必然存在的,但是我们在测试过程中依然会遇到这种问题,那遇到这种问题我们应该怎么办呢? 首先要确保问题发生时的测试环境和测试步骤没有发生改变,多操作几次,...
  • 那么面对这种情况,我们应该怎么办呢? 其实这种情况属于几何画板常见问题,只需重新设置下即可。下面将具体讲解解决几何画板汉字乱码的的方法。 解决几何画板汉字乱码的具体步骤: 1.按住“Shift”键,点击编辑菜单...
  • 决策树相关的算法是机器学习里非常常用,也非常有效的算法,梯度提升树更是Kaggle必备,同时也是面试的时候,面试官非常愿意问的问题,看完下面的30道题,相信你再遇到基于决策树的问题,心里就有底了! 介绍 决策树...
  • 那么问题来了,我只能在mainwindow中操作dialog 的成员,而不能反过来。所以这个槽函数写在dialog的构造函数中应该是不可行的。 写在mainwindow构造函数的话,我如果写在new dialog之前,那么由于没有对象所以会内存...
  • 我们大家在生活当中和工作中使用电脑也是我们大家的日常工具了,对于有些特殊状况我们的电脑网络出问题了,无法打开网页、无法登陆QQ、无法上网应该怎么发现问题、如何解决?下面小编为大家分享一个实用的小技巧。 ...
  • 遇到了以下几点致命弱点! 如果这些问题也是阻止你升职加薪,跳槽大厂的阻碍。 那么我确信可以帮你突破瓶颈! 字节跳动四面有三面都问了这个问题,在此做了整理,希望可以帮助到大家,欢迎查漏补缺。 数据处理和...
  • 当我使用JavaScript fetch API访问http...Google了一下,在stackoverflow上发现其他网友也遇到类似问题: https://stackoverflow.com/questions/38418998/react-native-fetch-network-request-failed 网友回复说...
  • 比如说婚礼摄像师在录制婚礼过程中,相机突然显示出错或者无反映 ,此时应该怎么办呢?这种现象应该如何处理才是最恰当的? 第一次遇到此类问题的摄影师,一般都是采取关机,重新开机,继续录像,回来导视频素材时...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 818
精华内容 327
关键字:

遇到问题应该怎么办