中等难度
青烟绕指柔!
我不怕千万人阻挡,只怕自己投降。
展开
-
幻方构造
幻方构造:1.若 (K-1) 在第一行但不在最后一列,则将 K 填在最后一行, (K-1) 所在列的右一列;2.若 (K-1) 在最后一列但不在第一行,则将 K 填在第一列, (K-1) 所在行的上一行;3.若 (K-1) 在第一行最后一列,则将 K 填在 (K-1) 的正下方;4.若 (K-1) 既不在第一行,也最后一列,如果 (K-1) 的右上方还未填数,则将 K 填在 (K-1) 的...原创 2019-11-23 13:36:30 · 471 阅读 · 0 评论 -
激光炸弹
激光炸弹*一种新型的激光炸弹,可以摧毁一个边长为 R 的正方形内的所有的目标。现在地图上有 N 个目标,用整数Xi,Yi表示目标在地图上的位置,每个目标都有一个价值Wi。激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆炸范围,即那个边长为 R 的正方形的边必须和x,y轴平行。若目标位于爆破正方形的边上,该目标不会被摧毁。求一颗炸弹最多能炸掉地图上总价值为多少的目标。输入格式第...原创 2019-01-26 23:24:54 · 1665 阅读 · 0 评论 -
a^b%p
a^b求 a 的 b 次方对 p 取模的值。输入格式三个整数 a,b,p ,在同一行用空格隔开。输出格式输出一个整数,表示a^b mod p的值。数据范围1≤a,b,p≤1e9输入样例:3 2 7输出样例:2时/空限制: 1s / 32MB这道题刚看会发现诶,直接循环就完了嘛,但是一看下面的数据范围就会发现,如果直接循环,一定会超时。那怎么做呢?这里就是一个典型快速幂...原创 2019-01-27 18:51:03 · 1112 阅读 · 0 评论 -
康拓展开与康拓展开的逆
康托展开康拓展开一般是用于计算一个全排列数字排在所有全排列的大小位置。那么到底怎么计算呢?敲重点X=a[n]∗(n-1)!+a[n-1]∗(n-2)!+…+a[i]*(i-1)!+…+a[2]*1!+a[1]*0![1]从第一个数字开始到倒数第二个数字,计算需要计算的那个数字之后比这个数小的数字有几个,再乘以(n-x)!,n是全排列的数字,x是当前数字的位置。下面就是代码。#inc...原创 2019-03-04 16:30:44 · 375 阅读 · 0 评论 -
数字的全排列
数字的全排列直接上代码#include<bits/stdc++.h>using namespace std;int n,p[10],vis[10];void dfs(int x)//x为当前的枚举位置 { if(x==n+1)//如果位置都枚举完毕了,就打印出来 { for(int i=1;i<=n;i++) cout<<p[i]<<...原创 2019-03-04 17:08:48 · 682 阅读 · 0 评论 -
编辑距离
编辑距离这是一个典型的动态规划问题问题就是给你两个字符串a,b,有三种操作增加一个字符删除一个字符改变一个字符问通过上述的操作,最少多少步,能把a变为b直接上代码#include<bits/stdc++.h>using namespace std;int dp[110][110];//dp[i][j]表示a的第一个字符到第i个字符,b的第一个字符到第j个字符i...原创 2019-03-04 18:37:44 · 282 阅读 · 0 评论