1. 伊吹萃香_(虫洞)

    网上竟然没有能看的懂的解释,我也是醉了搞了好几个小时才找着一份代码,硬是看懂了思路:记一个dis[i][j]数组,i表示节点,j表示时间是奇数还是偶数,0是偶数,1是奇数某一个点的状态是由上一秒转移来的,而这两秒一定一个是奇数一个是偶数,所以1状态由0转移,0状态由1转移,黑洞需要翻转,而奇数秒的状态一定是被反转了的,偶数是没反转的,而这个可以用异或来搞定因为0^1=1,1^1==0而判断起点也是 …

    于  最短路, 状态 继续阅读

  2. dp专题

    互不侵犯的king状压dp题每一行放不放国王可以用1010010来表示所以每一行的状态可以看成一个二进制数这样n是小于9的,可以把小于2^n,(因为2^9是512,很小)的数打表存出来把自己和自己冲突的筛掉,然后记下有多少1,判断他们是否冲突。预处理完了,接下来是dp了动态转移方程:dp[i][q+t[j]][a[j]]=Σdp[i-1][q][a[i]]123456789101112131415 …

    于  dp 继续阅读

  3. 搜索专题

    会场预约找一个最小的r加进集合12345678910111213141516171819202122232425262728293031323334353637383940414243444546#include <cstdio> #include <algorithm> #include<iostream> #define maxn 1000000 # …

    于  搜索, 暴力 继续阅读

  4. 模拟水题

    于 继续阅读

  5. 并查集专题

    洛谷P3144 [USACO16OPEN]关闭农场关闭农场离线的反着的并查集看看在不在一个集合内1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950#include<cstdio>#include<queue>#include<cstrin …

    于  并查集 继续阅读

  6. 优先队列

    较简单的排队打水,合并果子。。。 合并序列这是一个堆的问题,就用stl里的优先队列完美搞掉有两个序列先sort一下在算出最小的a[1]+b[1]…..a[1]+b[n]为一组删掉+如a[i][j+1]放进去找最小的k个12345678910111213141516171819202122232425262728293031323334353637383940#include<cstdio&g …

    于  优先队列 继续阅读

  7. 关于二维偏序的题

    简单的逆序对可以用树状数组搞就是插入时,找前面比他大的和插入时弄一个桶,记下有多少个数然后对后面的进行区间求和,这个可以用树状数组搞最后求一个总和1234567891011121314151617181920212223242526272829303132#include<iostream>#include<queue>#include<algorithm>#i …

    于  二维偏序 继续阅读

  8. day6

    cyclic这个题直接模拟,先把k%一下防止过大然后直接做就行了 1234567891011121314151617181920212223242526#include<cstdio>#include<algorithm>#include<iostream>#include<cmath>#define ll long longusing namesp …

    于  2017 继续阅读

  9. day5

    exam简单的贪心注意细节,long long就可以ac了123456789101112131415161718192021222324252627282930313233343536373839#include<cstdio>#include<iostream>#include<algorithm>using namespace std;#define D & …

    于  2017 继续阅读

  10. 摄像头

    拓补排序找入度为零的,就是没被监视的,删掉继续找入度为零的,继续删直到找不到输出答案 1234567891011121314151617181920212223242526272829303132333435363738394041#include<cstdio>#include<algorithm>#include<iostream>#include<c …

    于  拓补排序 继续阅读