摘要:
1.建堆。n个数存放于数组里,下表从1到n。叶子下标则是:n/2+1, n/2+2...n。建堆的时候从最后一个非叶子节点到第一个节点,不断进行调整。#include #include #include #include #include using namespace std;void MaxHeapify(int maxHeap[], int n, int nowPos) { int left, right, largest; left = nowPos maxHeap[nowPos]) largest = left; if(right maxHeap[largest]) la... 阅读全文
摘要:
1.How many pairs欧拉函数+容斥2.逛下沙求出奇度顶点,添加边,把奇度顶点补成偶度,变成欧拉图。状态压缩,记忆化搜索求出奇度顶点的最小匹配。3.建桥求割边4.开关灯线段树5.石油公司最大流。需要添加一个源点,然后求出最大流,如果最大流等于所有供应站供油速率和,那么这个方案就是YES的。6.最大值最大割。dfs,状态压缩。搜索到一半即可,并且每加入一个点时,都应增大这个割。 阅读全文