摘要:
休眠了2月了 要振作起来了!!。。。http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2155因为点比较少 最多更新三百次 标记某个节点时直接更新与之相连的点的最短距离 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define INF 0xfffffff 9 int w[310][310],f[310];10 int main()11 {12 int n,. 阅读全文
摘要:
题不怎么难,按线段树的解法 就是延迟标记,更新 因为找错找了N久 记一篇吧向下更新时把+=写成了= 还做在了2W组的数据上 那个错找得真费劲。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 #define N 20001210 int n;11 #define LL long long12 LL s[N=r)31 {32 s[w]+=(r-l+1)*d;33 lz[w]+=d;34 ... 阅读全文
摘要:
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2718模拟 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 int w[25][25]; 7 int dis[4][2] = {1,0,0,-1,0,1,-1,0}; 8 int main() 9 { 10 int n,m,k,i,s1,s2,kk=0,d; 11 while(cin>>n>>m>>k) 12 { 13 阅读全文
摘要:
出来冒个泡由于数比较大 开了map计数 然后边走边删边加 勉强可过 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 #define LL long long11 #define N 20001012 int a[N],b[N],ff[N],o[N],g,vis[N];13 mapf;14 mapq;15 mapqq;16 int main()17 {18 int i,kq=0;19 LL n,m,p;... 阅读全文
摘要:
1430即使是枚举 也是有一定技术含量的 对于ax+by = n; 枚举max(a,b)中的系数 这样可以确定另一个 但问题是如何确定上限 假设max(a,b) = a,很显然是不会超n/a的 但这样还是会超时的可以设想一下假如x比b大 那么它可以拆分为x'+b吧 那把b合并y那里就好了 很明显也是不会超过b的 这样复杂度就不会超过sqrt(n) 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define LL long long 9 int mai 阅读全文
摘要:
1343想了好一会 以为会有什么定理呢 没想到 就试着搜了 看来素数还是很多的 跑的飞快注意会有前导0的情况 还有0,1不是素数。。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 #define LL long long11 int flag;12 char a[20];13 LL p[20];14 int judge(LL x)15 {16 if(x12)28 {29 if(ju... 阅读全文
摘要:
B判矩阵的时候 出了点错 根据点积判垂直 叉积判平行 面积不能为0 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 struct node 10 { 11 int x,y; 12 }p[10]; 13 int f[10]; 14 int find(node a,node b,node c,node d) 15 { 16 int flag = 0; 17 if(a.x-b.x==0||c.y-b.y... 阅读全文
摘要:
1091容斥原理 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 int p[110],g,f[55],q[55],o,vis[55],pa[55],n,kk; 9 #define LL long long10 void init()11 {12 int i,j;13 for(i = 2; i 1&&s%x==0)31 {32 s/=x;33 x--;34 }35 ... 阅读全文
摘要:
1141越来越喜欢数论了 很有意思先看个RSA的介绍RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。RSA的算法涉及三个参数,n、e1、e2。其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1。(n,e1),(n,e2)就是密钥对。其中(n,e1)为公钥,(n,e2)为私钥。[1]RSA加解密的算法完全相同,设A为明文,B为密文,则:A=B^e2 mod 阅读全文
摘要:
4003思维啊 dp[i][j]表示当前I节点停留了j个机器人 那么它与父亲的关系就有了 那条边就走了j遍dp[i][j] = min(dp[i][j],dp[child][g]+dp[i][j-g]+g*w[i][child] ); 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 #define N 1001011 #define LL __int6412 struct node13 {14 int u,v... 阅读全文