高精加减乘除
加法1234567891011121314string add(string a,string b){ if(a.size() > b.size()) swap(a,b); b.insert(b.begin(),'0'); int t = 0; for(int i = b.size()-1,j = a.size()-1;i>=0;i--,j--){ int cur; if(j>=0) cur = (a[j]-'0') + (b[i]-'0') + t; else cur = (b[i] - '0') +t; b[i] = (cur%10) + '0'; t = cur/10; } int idx = b.find_first_not_of('0'); return idx != -1? b.substr(idx ...
数独
题目题目描述
数独是根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1-9,不重复。每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的。
芬兰一位数学家号称设计出全球最难的“数独游戏”,并刊登在报纸上,让大家去挑战。
这位数学家说,他相信只有“智慧最顶尖”的人才有可能破解这个“数独之谜”。
据介绍,目前数独游戏的难度的等级有一道五级,一是入门等级,五则比较难。不过这位数学家说,他所设计的数独游戏难度等级是十一,可以说是所以数独游戏中,难度最高的等级他还表示,他目前还没遇到解不出来的数独游戏,因此他认为“最具挑战性”的数独游戏并没有出现。输入格式
一个未填的数独
输出格式
填好的数独
输入输出样例
输入 #1
8 0 0 0 0 0 0 0 0
0 0 3 6 0 0 0 0 0
0 7 0 0 9 0 2 0 0
0 5 0 0 0 7 0 0 0
0 0 0 0 4 5 7 0 0
0 0 0 1 0 0 0 3 0
0 0 1 0 0 0 0 6 8
0 0 8 5 0 0 ...
皇后问题
题目题目描述
一个如下的 6×6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。
上面的布局可以用序列 2 4 6 1 3 5 来描述,第 i 个数字表示在第 i 行的相应位置有一个棋子,如下:
行号 1 2 3 4 5 6
列号 2 4 6 1 3 5
这只是棋子放置的一个解。请编一个程序找出所有棋子放置的解。并把它们以上面的序列方法输出,解按字典顺序排列。请输出前 333 个解。最后一行是解的总个数。
输入格式
一行一个正整数 n,表示棋盘是 n×n 大小的。
输出格式
前三行为前三个解,每个解的两个数字之间用一个空格隔开。第四行只有一个数字,表示解的总数。输入输出样例
输入 #1
6
输出 #1
2 4 6 1 3 5
3 6 2 5 1 4
4 1 5 2 6 3
4
说明/提示
【数据范围】对于 100%100\%100% 的数据,6≤n≤136 \le n \le 136≤n≤13。
题目翻译来自NOCOW。
USACO Training Section 1.5
Code12345678910 ...
离散化加差分求解
题目Covered Points Count
You are given n
segments on a coordinate line; each endpoint of every segment has integer coordinates. Some segments can degenerate to points. Segments can intersect with each other, be nested in each other or even coincide.
Your task is the following: for every k∈[1..n], calculate the number of points with integer coordinates such that the number of segments that cover these points equals k. A segment with endpoints li and ri covers point x if and only if li≤x≤ri.
Input
...
差分
题目题目:
输入一个长度为n的整数序列。接下来输入m个操作,每个操作包含三个整数l, r, c,表示将序列中[l, r]之间的每个数加上c。请你输出进行完所有操作后的序列。
输入格式
第一行包含两个整数n和m。第二行包含n个整数,表示整数序列。接下来m行,每行包含三个整数l,r,c,表示一个操作。
输出格式
共一行,包含n个整数,表示最终序列。
思路对一个区间内的数加C,如果暴力加,会浪费很多时间,我们可以开一个新数组用于差分操作,数组下标就代表数轴上的每一个数,每次给定一个区间,把以区间左端点未下标的数组值加上C,而以(区间右端点+1)为下标的数组值减去C,进行m次操作后,再求一次前缀和并加上原来数组的值就是进行区间操作后的数组,参考下图:
Code123456789101112131415161718192021222324#include<stdio.h>#include<iostream>#include<algorithm>using namespace std;int a[100],b[100]; //例题,开的很小,你可以开大int ...
二进制补码
这道题看百度上的题解把我看蒙了,想了半天没想通,直到我看见在计算机中负数是用补码来表示的,我才恍然大悟,咋把这个给忘了(抓狂)
题目蒜头君有一个 int\text{int}int 的整数,输出它的 323232 位二进制补码。
输入格式
一个整型整数。
输出格式
输出一行,即该整数的补码表示。
输出时每行末尾的多余空格,不影响答案正确性
样例输入:
7
样例输出
00000000000000000000000000000111
分析:做这道题就是明白一点:计算机中负数用补码来表示,因为整数补码是本身,所以这道题其实就是输出一个数在计算机中的二进制形式,超级简单了
code#include<iostream>
#include<stdio.h>
using namespace std;
int map1[110][110],map2[110][110];
int main()
{
int n;
cin>>n;
for(int i=31;i>=0;i--){
cout<<((n>>i) ...
进制转换模板
题目描述请你编一程序实现两种不同进制之间的数据转换。
输入格式
共三行,第一行是一个正整数,表示需要转换的数的进制n(2≤n≤16)n(2≤n≤16)n(2≤n≤16),第二行是一个n进制数,若n>10n>10n>10则用大写字母A−FA-FA−F表示数码10−1510-1510−15,并且该nnn进制数对应的十进制的值不超过100000000010000000001000000000,第三行也是一个正整数,表示转换之后的数的进制m(2≤m≤16)m(2≤m≤16)m(2≤m≤16)。
输出格式
一个正整数,表示转换之后的mmm进制数。
输入输出样例
输入 #1
16
FF
2
输出 #1
11111111
代码:#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<string>
#include<math.h>
#include<vector>
using namespace std;
int change(ch ...
markdown语法
文章链接
总结如下标题在想要设置为标题的文字前面加#来表示一个#是一级标题,二个#是二级标题,以此类推。支持六级标题。
注:标准语法一般在#后跟个空格再写文字
字体
加粗
要加粗的文字左右分别用两个*号包起来
斜体
要倾斜的文字左右分别用一个*号包起来
斜体加粗
要倾斜和加粗的文字左右分别用三个*号包起来
删除线
要加删除线的文字左右分别用两个~~号包起来
引用在引用的文字前加>即可。引用也可以嵌套,如加两个>>三个>>>n个…貌似可以一直加下去,但没神马卵用
效果如下:
这是引用的内容
这是引用的内容
这是引用的内容
分割线三个或者三个以上的 - 或者 * 都可以。
实例:
---
----
***
*****
图片语法:

图片alt就是显示在图片下面的文字,相当于对图片内容的解释。
图片title是图片的标题,当鼠标移到图片上时显示的内容。title可加可不加
上传本地图片直接点击导航栏的图片标志,选择图片即可markdown格式追求 ...
Sakura Theme美化
https://www.jianshu.com/p/e378b320c184超级详细的一个网址
容斥原理
今天学习了容斥原理,感觉智商又一次遭到了蹂躏(eoe),百度了CSDN上面的讲解,感觉讲的都不是很详细(或许真的是我笨吧,哎~),还是结合题目来讲吧,上题:
I - Co-prime
Given a number N, you are asked to count the number of integers between A and B inclusive which are relatively prime to N.Two integers are said to be co-prime or relatively prime if they have no common positive divisors other than 1 or, equivalently, if their greatest common divisor is 1. The number 1 is relatively prime to every integer.
Input
The first line on input contains T (0 < T <= 100) the ...