![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
位运算
摸鱼选手
这个作者很懒,什么都没留下…
展开
-
POJ1995
//题目大意:计算多个a^b的和modM,快速幂就可以过。#include<iostream> using namespace std;typedef long long ll;ll Z,M,H,A,B;int solve(ll A, ll B, ll M){ ll ant=1%M; while(B){ if(B&1){ ant=ant*A%M...原创 2019-02-28 22:40:31 · 236 阅读 · 0 评论 -
最短Hamilton路径(CH0103)
给定一张n(n&lt;=20)个点的带权无向图,点从0~n-1标号,求起点0到终点n-1的最短Hamilton路径。Hamilton路径定义为每个顶点正好经过一次的路径。题解:枚举所有情况的时间复杂度是O(n*n!),使用二进制状态压缩DP可以优化到O(n2*2n)用一个数组f[i][j]维护当i(0&lt;=i&lt;2n)表示"点是否被经过的状态"对应的二进制数,且目前处于点j(0&lt;...原创 2019-03-03 11:59:06 · 393 阅读 · 0 评论 -
ACM学习记录--位运算
1.移位操作:快速幂:1.1求a的b次方对p取模的值,数据范围小于等于1e9;int power(int a, int b, int p){ **//快速幂** int ans=1%p; while(b){ if(b&amp;amp;1) ans=ans*a%p; a=a*a%p; b&amp;gt;&amp;gt;=1; } return ans;} 算法思想很简单。将b视为二进...原创 2019-03-03 12:11:41 · 331 阅读 · 0 评论 -
CH2101 可达性统计
给定一张N个点M条边的有向无环图,分别统计从每个点出发能够到达的点的数量。N,M≤30000。输入格式第一行两个整数N,M,接下来M行每行两个整数x,y,表示从x到y的一条有向边。输出格式共N行,表示每个点能够到达的点的数量。题解:从点x出发能够到达的点构成的集合是f(x),有:f(x)={x}U(U存在有向边(x,y) f(y)),从x出发能够到达的点,是从“x的各个后继点y”出发...原创 2019-03-29 19:47:47 · 363 阅读 · 0 评论