
简单的技巧
夕伤夜残
Stay hungry,Stay foolish.
展开
-
C++定义结构体的优先级
假设存在一个叫Point(x,y)的结构体,我们写以x值更小有更高的优先级,常见的写法如下。struct Point{ int x,y; friend bool operator <(Point A,Point B){ return A.x<B.x; }//friend关键字,让该函数可以访问结构体的所有属性};struct Point{ int x,y...原创 2019-11-28 15:00:22 · 444 阅读 · 0 评论 -
c++对大范围的数据进行数据离散化(含重复数据)
在我们只需要利用数值之间的大小关系,而不需要其具体值来进行运算的时候。对数据进行离散化操作,可以解决因为数据范围太大而造成的一些尴尬(比如数组,线段树,树状数组因为数据范围太大,可能会难以操作或者超时),或者节约程序运行的时间。#include&amp;amp;amp;amp;amp;amp;amp;lt;cstdio&amp;amp;amp;amp;amp;amp;amp;gt;#include&amp;amp;amp;amp;amp原创 2018-09-04 18:02:41 · 3717 阅读 · 4 评论 -
UVA 10881 Piotr's ant
个人认为这个思维题很有意思。想通两个点思路就很清晰了。 1.蚂蚁的碰撞调头,可能会导致不好估计终点距离,但如果我们把碰撞调头看成直接穿过,就可以轻易算出,T秒后的位置,但这样就要解决另一个问题,怎么按顺序输出蚂蚁的状态和位置。我们需要搞懂某个位置上的蚂蚁是谁。 2.因为对撞调头的关系我们可以得出,如果之前从左往右数蚂蚁id分别是A,B,C,D,那么T妙之后一定也是,因为中间的点...原创 2018-09-07 22:21:49 · 171 阅读 · 0 评论 -
将序列调至有序,求所需步数(更新中)
在做题或者比赛过程中我们经常碰到这样的问题,给你一个乱序序列,然后你可以执行一种或者多种的特定操作,问你最少用多少步操作把序列还原成有序或者改成特定顺序。这些问题的变式太多了,我就记录一下我见过的几种。给力的移动FZU2287 题意:给你一个1-n的乱序序列,你每次可以选任意一个位置的数,把它放到序列的最前面或者最后面,问最少几次操作,能把序列调整为有序?思路:只要求出序列中特殊最长上...原创 2019-06-09 11:50:34 · 1110 阅读 · 0 评论