Description 对于正整数n (3≤n<20),可以画出n阶的回形矩阵.下面画出的分别是3阶的,4阶的和7阶的回形矩阵: 对于n阶回形矩阵,从左上角出发,每步可以向右或向下走一格,走2* n-2步,可以到达右下角.我们把这样的路 径上所有格子中的数值之和,叫做该路径的长度.本题要求,对于给出n值,求出n阶回形矩阵有多少路径的长度为 素数?如n=3时,路径及长度有: 因此说,3阶回形矩阵有2条路径的长度为素数. Input 一个自然数n (3≤n<20,不必判错). Output 一个正…
[题解]最长递增路径 [51nod1274] 传送门:最长递增路径 \([51nod1274]\) [题目描述] 一个可能有自环有重边的无向图,每条边都有边权.输入两个整数 \(n,m\) 表示一共 \(n\) 个点,\(m\) 条边并且给出 \(m\) 条边的信息:连接点 \(x,y\),边权为 \(w\).你可以从任何点出发,任何点结束,可以经过同一个点任意次,但是同一条边不能经过多次,并且你走过的路必须满足所有边的权值严格单调递增,求最长能经过多少条边. 以此图为例,最长的路径是: \(3…
一.问题描述 给出一棵n个节点的树,统计树中长度为k的路径的条数(1<=n<=50000 , 1<=k<=500). 二.解题思路 设d[i][k]表示以i为根节点长度为k的路径数目 三.代码实现 #include<stdio.h> #include<iostream> #include<algorithm> #include<cstring> #include<vector> using namespace std; +…
判断从顶点u到v是否有路径 void ExistPath(AdjGraph* G, int u, int v, bool& has) { int w; ArcNode* p; visit[u] = 1; if (u == v) { has = true; return; } p = G->adjlist[u].firstarc; while (p != NULL) { w = p->adjvex; if (visit[w] == 0) ExistPath(G, w, v, has);…
洛谷P1463:https://www.luogu.org/problemnew/show/P1463 思路 约数个数公式  ai为质因数分解的质数的指数 定理: 设m=2a1*3a2*...*pak(其中p为第k大的质数)是Antiprime数 则必有a1≥a2≥a3≥...≥ak≥0 因此如果有两个值约数个数相同 则要取值比较小的那个 剪枝: 有了这个定理我们就可以搜索质数的指数 由于231已经远远超过数据规模 因此我们只需要搜到31层 质因子的个数最多只有10个(所有质因子相乘得到他们可以…
http://poj.org/problem?id=1284 题意:给定一个奇素数p,求p的原根个数. 原根: { (xi mod p) | 1 <= i <= p-1 } is equal to { 1, ..., p-1 },则x是p的原根. 题解:结论:奇素数p的原根个数为phi(p-1). 证明: 对于给出的素数p, 首先要明确一点:p的元根必然是存在的(这一点已由Euler证明,此处不再赘述),因此,不妨设其中的一个元根是a0(1<=a0<=p-1) 按照题目的定义,a0…
题意 给出一个有向图,其中每条边的边长都为1.求这个图中长度恰为 $k$ 的路劲的总数.($1 \leq n \leq 100, 1 \leq k\leq 10^9$) 分析 首先,$k=1$ 时答案就等于边数. 当 $k=2$,$G_2[i][j] = \sum_{w=1}^nG_1[i][w] \times G_1[w][j]$,相当于选取一个中间节点 $w$,只要存在合适的 $w$ ,$u,v$ 之间就存在通路. 以此类推,$G_k = G^k$ 表示恰好走 $k$ 步的情况,只需统计其中…
Primitive Roots Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5709 Accepted: 3261 Description We say that integer x, 0 < x < p, is a primitive root modulo odd prime p if and only if the set (ximodp)∣1≤i≤p−1{ (x_i mod p) | 1 \leq i \leq…
#include <iostream> #include <vector> #define MAXN 5 using namespace std; struct edge { int f,t; edge(int f, int t) :f(f), t(t) {} }; vector<edge> edges; vector<]; ]; void init(){ ; i <= MAXN; i++) vis[i] = false; } //通过缩短路径方法求解 bo…
[WC2011]最大XOR和路径 给一个 \(n\) 个点 \(m\) 条边(权值为 \(d_i\))的无向有权图,可能有重边和子环.可以多次经过一条边,求 \(1\to n\) 的路径的最大边权异或和. 数据范围:\(1\le n\le 5\cdot 10^4\),\(1\le m\le 10^5,0\le d_i\le 10^{18}\). 非常神的一题,令小蒟蒻大开眼界. 一句话题解:通过 \(\texttt{Dfs}\) 得到到每个点的一种路径答案,用线性基找到最优替换方案. 先看这个奇…
n!质因数分解后P的个数=n/p+n/(p*p)+n/(p*p*p)+......直到n<p*p*p*...*p //主要代码,就这么点东西,数学真是厉害啊!幸亏我早早的就退了数学2333 do { n/=m; w+=n; }while(n);…
给出n个城市,m条边,起始点c1和目的点c2接下来给出n个城市的队伍数以及m条双向边问你求c1到c2的所有最短路径数目,以及其中经过的最多队伍数 先最短路dijkstra,同时建立vector数组pre存储前驱节点然后dfs求出路径,以及每条路径经过的队伍数,更新最大值即可 #include <iostream> #include <cstdio> #include <algorithm> #include <string.h> #include <s…
题面 解析 这题一眼DP啊. 然而想了半天毫无思路. 后来看题解后发现可以按边权的大小顺序DP. 将边权从小到大排序,对于权值相同的边分为一组. 设\(f[i][0]\)表示经过当前权值的边后到达\(i\)的最长路, \(f[i][1]\)表示经过之前的权值的边后到达\(i\)的最长路. 那么对于一条边\(x,y\), \(f[x][0]=max(f[x][0],f[y][1]+1\)), \(f[y][0]=max(f[y][0],f[x][1]+1\)). 在处理完每组边后用\(f[i][0…
P5530 [BalticOI 2002]双调路径 输入样例: 4 5 1 4 2 1 2 1 3 4 3 1 2 3 1 2 3 1 1 4 2 4 2 4 样例如下图 样例说明: 从1到4有4条路径.为1→2→4(费用为4,时间为5) ,1→3→4(费用为4,时间为5) ,1→2→3→4(费用为6,时间为4) ,1→3→2→4(费用为4,时间为10). 1→3→4和1→2→4比1→3→2→4更好.有两种最佳路径:费用为4 ,时间为5(1→2→4和1→3→4)和费用为6,时间为4 (1→2→3…
样例输入 4 2 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 样例输出 6 #include<cstdio> #include<vector> using namespace std; typedef vector<int> vec; typedef vector<vec> mat; int n,m; mat operator * (const mat &a,const mat &b) { mat c(n,vec(n));…
题目大意 给定一个\(N\)个结点的树,结点用正整数\(1..N\)编号.每条边有一个正整数权值.用\(d(a,b)\)表示从结点\(a\)到结点\(b\)路边上经过边的权值.其中要求\(a < b.\)将这\(n*(n-1)/2\)个距离从大到小排序,输出前\(M\)个距离值. 题目分析 统计树上路径的问题显然需要淀粉质(好毒瘤啊,连续考了两天点分治). 由于前\(M\)大路径难以直接统计,而我们又很擅长统计长度大于\(l\)的路径个数,因此考虑首先二分答案求出第\(M\)大路径的长度\(l\…
1305 Freda的道路 时间限制: 1 s 空间限制: 128000 KB 题目等级: 大师 Master 题目描写叙述 Description Freda要到Rainbow的城堡去玩了. 我们能够觉得两座城堡位于同一条数轴上.Freda的城堡坐标是0,Rainbow的城堡坐标是N.正常情况下,Freda会朝着同一个方向(即Rainbow的城堡相对于Freda的城堡的方向)走若干步之后来到Rainbow的城堡.并且步长都为1或2. 但是.今天Freda在途中遇见了来自上海的小猫Resodo,…
前言 最近做毒瘤做多了--联赛难度的东西也该复习复习了. Warning:本文较长,难度分界线在"中场休息"部分,如果只想看普及难度的可以从第五部分直接到注意事项qwq 文中用(比如现在这个文本)引用文本书写的部分为总结性内容,即使是跳过部分也建议阅读awa 没事,最难也就NOI2020的签到题,不怕( 0--P1962 斐波那契数列 题目链接 题意 \[n\leq 2,F(n)=1. \\ n>2,F(n)=F(n-1)+F(n-2). \] 对于上述递推式,求 \(F(n)\…
2019 ICPC Asia Nanjing Regional A - Hard Problem 计蒜客 - 42395 若 n = 10,可以先取:6,7,8,9,10.然后随便从1,2,3,4,5里面选一个都肯定符合题意 若 n = 9,可以先取:5,6,7,8,9,然后随便从1,2,3,4里面选一个都肯定符合题意. 所以答案就是后半部分的数量+1 #include <cstdio> #include <iostream> #include <cmath> #inc…
要求: (1) 找出0-1000之间素数(2) 设f(n)表示0-n之间的素数个数,计算出当n=0,1,2,3,.....,997时f(n)的值,并写入文件 分析: 首先找素数使用一个效率较高的方法--Eratosthenes筛法,只要把1和不超过1000的正合数都删去.其原理为:由于正合数必有不可约数是小于等于其平方根的,只要首先求出1-1000平方根之间的全部不可约数,依次把这些不可约数之外的倍数也全部删去,剩下的正好就是不可约数.(参考<初等数论>) 其程序如下: /** * @para…
/*获取对象.数组的长度.元素个数 *@param obj 要计算长度的元素,可以为object.array.string */ function count(obj){ var objType = typeof obj; if(objType == "string"){ return obj.length; }else if(objType == "object"){ var objLen = 0; for(var i in obj){ objLen++; } r…
怎么判断一个数是否为素数? 笨蛋的作法: bool IsPrime(unsigned n){    if (n<2)    { //小于2的数即不是合数也不是素数    throw 0;    }    for (unsigned i=2;i<n;++i)    { //和比它小的所有的数相除,如果都除不尽,证明素数        if (n%i==0)        {//除尽了,则是合数            return false;        }    }    return tr…
1.约定 x%y为x取模y,即x除以y所得的余数,当x<y时,x%y=x,所有取模的运算对象都为整数. x^y表示x的y次方.乘方运算的优先级高于乘除和取模,加减的优先级最低. 见到x^y/z这样,就先算乘方,再算除法. A/B,称为A除以B,也称为B除A. 若A%B=0,即称为A可以被B整除,也称B可以整除A. A*B表示A乘以B或称A乘B,B乘A,B乘以A--都一样. 复习一下小学数学 公因数:两个不同的自然数A和B,若有自然数C可以整除A也可以整除B,那么C就是A和B的公因数. 公倍数:两…
指定长度路径数 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 题目给出一个有n个节点的有向图,求该有向图中长度为k的路径条数.方便起见,节点编号为1,2,-,n,用邻接矩阵表示该有向图.该有向图的节点数不少于2并且不超过500. 例如包含两个节点的有向图,图中有两条边1 → 2 ,2 → 1 . 长度为1的路径有两条:1 → 2 和 2 →1 : 长度为2的路径有两条:1 → 2…
CodeForces - 27E Number With The Given Amount Of Divisors Submit Status Description Given the number n, find the smallest positive integer which has exactly n divisors. It is guaranteed that for the given n the answer will not exceed 1018. Input The…
黑白图像直方图 发布时间: 2017年7月9日 18:30   最后更新: 2017年7月10日 21:08   时间限制: 1000ms   内存限制: 128M 描述 在一个矩形的灰度图像上,每个像素点或者是黑色的或者是白色的.黑色像素点用1表示,白色像素点用0表示.现在要求你编写一个程序,计算每列上黑色像素点的个数并输出.如下图所示是一个6∗8的黑板图像. 1 1 0 0 1 1 1 1  0 1 1 0 1 0 1 0  1 1 1 1 0 1 1 0  0 1 1 0 0 1 0 0 …
day0 第一件事当然是去酒店入住+领一堆东西. 感觉酒店不错,而且离学校挺近的,走路10分钟不到,骑车5分钟就到了. 然后去学校吃饭.我们在教工饭堂吃饭,饭菜还不错,但是没有筷子差评. 吃完饭后找了一下附近的咖啡厅,然而并没有找到. 剩下的时间都在玩手机. day1 有半个小时试机时间,就敲了三个板子(NTT,SA,LCT),结果一个都没用到. 开场先看A,发现是个傻逼题,10分钟切掉. 然后看B,想了一会感觉不会做,就跳过了. 接着发现C是傻逼题,一个小时写完+拍完. D也想了一会想不出来,…
文章目录 A题 B题 C题 D题 E题 F题 G题 传送门 众所周知ldxoildxoildxoi这种菜鸡选手是不会写HHH题的,因此该篇博客只有AAA题至GGG题的题解,实在抱歉. A题 传送门 题意简述:给出b,kb,kb,k和a1,a2,...,aka_1,a_2,...,a_ka1​,a2​,...,ak​问bk−1a1+bk−2a2+...+akb^{k-1}a_1+b^{k-2}a_2+...+a_kbk−1a1​+bk−2a2​+...+ak​的奇偶性. 思路:分bbb的奇偶性讨论…
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201604-3 路径解析 问题描述 在操作系统中,数据通常以文件的形式存储在文件系统中.文件系统一般采用层次化的组织形式,由目录(或者文件夹)和文件构成,形成一棵树的形状.文件有内容,用于存储数据.目录是容器,可包含文件或其他目录.同一个目录下的所有文件和目录的名字各不相同,不同目录下可以有名字相同的文件或目录. 为了指定文件系统中的某个文件,需要用路径来定位.在类 Unix 系统(Linu…
Problem A: 序列 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 12  Solved: 9[Submit][Status][Web Board] Description 作为一名火星人,你为了占领地球,需要想方设法使地球人失去信心.现在你获得了一项能 力,控制今后n天的天气温度,对于第i天,你能将温度控制在[ai,bi]中任意一个数字,你的 目的是使其中某段时间,温度持续不下降,趁此来攻击地球.现在问你最多可以使连续的多 少天满足温度不…