nyoj 下三角矩阵】的更多相关文章

Problem A 下三角矩阵 时间限制:1000 ms  |  内存限制:65535 KB 描述 给定一个由0和1组成的矩阵.只允许交换相邻的两行,要把矩阵转化成下三角矩阵(主对角线上方的元素都是0),最少需要交换几次?输入的矩阵保证总能转化成下三角矩阵. 输入 多组测试数据.每组测试数据第一行为一个整数n(1 <= n < 1000),表示矩阵的大小为n*n:接下来n行,每行有n个数表示这个矩阵. 输出 输出最小需要交换的次数,单独占一行. 样例输入 3 0 0 1 1 0 0 0 1 0…
在博客NYOJ 998 中已经写过计算欧拉函数的三种方法,这里不再赘述. 本题也是对欧拉函数的应用的考查,不过考查了另外一个数论基本定理:如何用欧拉函数求小于n且与n互质所有的正整数的和. 记euler(x)公式能计算小于等于x的并且和x互质的数的个数:我们再看一下如何求小于等于n的和n互质的数的和, 我们用sum(n)表示: 定理:若gcd(x, a)=1,则有gcd(x, x-a)=1: 证明:假设gcd(x, x-a)=k (k>1),那么有(x-a)%k=0---1式,x%k=0---2…
这道题是欧拉函数的使用,这里简要介绍下欧拉函数. 欧拉函数定义为:对于正整数n,欧拉函数是指不超过n且与n互质的正整数的个数. 欧拉函数的性质:1.设n = p1a1p2a2p3a3p4a4...pkak为正整数n的素数幂分解,那么φ(n) = n·(1-1/p1)·(1-1/p2)·(1-1/p3)···(1-1/pk) 2.如果n是质数,则φ(n) = n-1;  反之,如果p是一个正整数且满足φ(p)=p-1,那么p是素数. 3.设n是一个大于2 的正整数,则φ(n)是偶数 4.当n为奇数…
下三角矩阵 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 给定一个由0和1组成的矩阵.只允许交换相邻的两行,要把矩阵转化成下三角矩阵(主对角线上方的元素都是0),最少需要交换几次?输入的矩阵保证总能转化成下三角矩阵. 输入 多组测试数据. 每组测试数据第一行为一个整数n(1 <= n < 1000),表示矩阵的大小为n*n: 接下来n行,每行有n个数表示这个矩阵. 输出 输出最小需要交换的次数,单独占一行. 样例输入 3 0 0 1 1 0 0 0 1 0 样例…
http://www.cppblog.com/RyanWang/archive/2009/07/19/90512.aspx?opt=admin 欧拉函数 E(x)表示比x小的且与x互质的正整数的个数.*若p是素数,E(p)=p-1.*E(pk)=pk-pk-1=(p-1)*pk-1证:令n=pk,小于n的正整数数共有n-1即(pk-1)个,其中与p不质的数共[pk-1-1]个(分别为1*p,2*p,3*p...p(pk-1-1)).所以E(pk)=(pk-1)-(pk-1-1)=pk-pk-1.…
/* NYOJ 99单词拼接: 思路:欧拉回路或者欧拉路的搜索! 注意:是有向图的!不要当成无向图,否则在在搜索之前的判断中因为判断有无导致不必要的搜索,以致TLE! 有向图的欧拉路:abs(In[i] - Out[i])==1(入度[i] - 出度[i])的节点个数为两个 有向图的欧拉回路:所有的节点都有In[i]==Out[i] */ #include<iostream> #include<cstring> #include<cstdio> #include<…
整整两天了,都打不开网页,是不是我提交的次数太多了? nyoj 10: #include<stdio.h> #include<string.h> ][],b[][]; int X,Y; int maxx(int a,int b) { return a>b?a:b; } int max(int a,int b,int c,int d) { return maxx(maxx(a,b),maxx(c,d)); } int kkk(int x,int y,int c) { ||y==…
例题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=138 代码目的:复习哈希用 代码实现: #include "stdio.h" //nyoj 138 简单哈希 #include "vector" using namespace std; #define N 100007 vector<int> a[N]; //vector向量处理冲突 void ADD() { int m,k; scanf(&q…
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=284 题意:在一个给定图中,铁墙,河流不可走,砖墙走的话,多花费时间1,问从起点到终点至少需要多少时间. 思路:简单广搜~ 代码如下: #include "stdio.h" //nyoj 284 坦克大战 简单搜索 #include "string.h" #include "queue" using namespace std; #def…
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=170 思路:统计每个节点的度,将度为1的节点消去所需要的最少的边即为答案. 代码: #include "stdio.h" //nyoj 170 网络的可靠性 #include "string.h" #define N 10005 int du[N]; int main() { int n; int i; int x,y; while(scanf("…