04 2022 档案
归并排序、逆序对
摘要:归并排序O(nlong) 1 #include<bits/stdc++.h> 2 #define N 100010 3 using namespace std; 4 5 int n; 6 int a[N],tmp[N]; 7 void merge_sort(int l,int r) { 8 if(l
阅读全文
快速排序,第k小数
摘要:快速排序O(nlong) 1 #include<bits/stdc++.h> 2 #define N 100010 3 using namespace std; 4 5 int n; 6 int a[N]; 7 void qsort(int l,int r) { 8 if(l>=r) return;
阅读全文
手写堆(优先队列),手写hash
摘要:1 struct rec { 2 int a, b; // 两个变量,其中a>=b 3 int val, cnt; // 未来估价val,当前次数cnt 4 rec() {} 5 rec(int a_, int b_, int val_, int cnt_) { 6 a = a_, b = b_,
阅读全文
(迭代加深DFS)最多多少步停止
摘要:例如:while(ans<=15&&!dfs(0)) ans++; 先判断是否到达了最多步骤的限制,再dfs,防止无效的dfs,如限制15步,如果交换ans<=15和dfs的顺序,则会dfs(16),增加无效的时间。
阅读全文
从基本式去推导和答案的关系
摘要:例如:平面上有n个中转站,n个气井,一一匹对,求n对的哈曼顿距离。 有中转站a,b,气井c,d |xa-xc|+|ya-yc|+|xc-xd|+|yc-yd| 贪心:把所有的中转站,气井x坐标相加,相减取绝对值,y坐标同理
阅读全文
成对变换
摘要:当n为偶数时,n xor 1等于n+1; 当n为奇数时,n xor 1等于n-1。 “0与1”,“2与3”···构成“成对变换”。 i为奇数时,i&1等于1; i为偶数时,i&1等于0。
阅读全文
补码
摘要:0x 7F 7F 7F 7F是用memset语句能够初始化出的最大数值 为了避免加法算术上溢或者繁琐的判断,用memset(a,0x3f,sizeof(a)) 负无穷(-INF):memset(a,0xcf,sizeof(a))
阅读全文