摘要:
看似简单但是,需要考虑溢出的情况,有正溢出和负溢出。 因为A,B,C的范围为[-263,263],而long long的取值范围为[-263,263],所以相加会存在溢出的问题 注意A+B必须存放到longlong型变量后才能与C比较,否则会造成数据计算的错误 1,当A+B>=263时,显然A+B> 阅读全文
摘要:
先用数组记录前缀和,然后减去两者的差值。 由于数组形成的是个环,所以累加和是固定的,反方向的距离实际就等于总长度减去正向的长度 注意distan的实际含义 #include<cstdio> #include<algorithm> using namespace std; const int N = 阅读全文
摘要:
如何表示花色:1.string,2.char数组,3.char+数字; 1..N由于没有零位在进行整除和余数运算时使用 (num-1)来变成0...N-1最后记得加1 #include <cstdio> using namespace std; char card[5] = {'S','H','C' 阅读全文
摘要:
给一个链表,然后按链表里面的数据排序,重新排成一个链表。 注意给的数据里面有掺杂的无用节点,不能直接排序。 所以应该遍历一遍链表之后标记出有用节点再排序。 #include<cstdio> #include<map> #include <algorithm> using namespace std; 阅读全文
摘要:
题意: 给N个链表结点,以及K,对每K个长度的链表做逆置,输出逆置后的链表。 题解: 不是很熟悉vector.reverse(),所以每次翻转单独处理,但是要注意最后一个结点指的地址可能会在下轮翻转中变化,所以需要进行记录。 注意%05d的输出格式会使得-1的输出出现问题,因此要分开考虑 还有一种思 阅读全文
摘要:
将所有的节点存在node数组中,并且将flag设置为false,在遍历第一个链表时,将此链表的节点的flag设置为true,在遍历第二个链表时查询节点的flag值,若发现flag为true,这此节点即为要找的共同后缀的起点,在遍历第一个链表的时候,已经将node中属于第一个链表的节点标记出来,当第二 阅读全文
摘要:
#include<cstdio> #include<queue> #include<vector> using namespace std; const int N = 1010; queue<int> q; int w[N]; int result[N]; int main(){ int np,n 阅读全文