自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 C/C++编程小知识(杂记)

条件与:&&if(x && y):先判断 x 是否为 true。若 x 为 true ,再接着判断 y,若 x 为 false,则不用判断 y 直接跳过 if 语句内容。易出错点:数组或内存溢出 (RE:Runtime Error)举例说明:正确代码//逆序输出前4个arr元素不为0的数//若小于0则不输出#include<stdio.h>int arr[10]={-1,2,3,4,5,6}, n=3;int main(){ for(int i

2020-07-25 10:06:43 91

原创 基础算法题——Harder Gcd Problem(数论、思维)

题目给定一个 n,将 2~n 内的数进行一对一匹,每个数仅能利用一次。假设 a 与 b 匹配,则 gcd(a,b) != 1。现求 2~n 内最大匹配数量,并输出匹配数对。输入T代表输入组数。下面T行,每一行一个数字n。输出输出最大匹配数量 m下面m行,每一行一对匹配数对示例1输入样例2410输出样例12 443 95 108 24 6解题思路数论知识:合数一定能够通过质数相乘得到。总体思路将 n 以内的质数尽量匹配。通过质数将合数尽量匹配。逐

2020-07-23 16:26:11 182

原创 基础算法题——牛牛的棋盘(容斥原理)

容斥原理:一种计数方法。先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复。题目牛客网牛牛最近在家里看到一个棋盘,有 n * m 个格子,在棋盘旁边还放着 k 颗棋子,牛牛想把这 k 颗棋子全部放在 n * m 的棋盘上,但是有一个限制条件:棋盘的第一行、第一列、最后一行和最后一列都必须有棋子。牛牛想知道这样的棋子放法到底有多少种,答案需要对1e9+7取模。示例1输入2,3,1输出0说明就1颗棋子,所.

2020-07-23 10:14:55 920

原创 基础算法题——HDU6092 子集问题(0/1背包+思维)

题目题目链接给定n,m和数组b0 ~ bm (m+1个数),求出一个正数集合A:a1 ~ an,满足:集合 A 中每个子集的和为 i 的个数为 bi,并输出字典序最小的A。(n <= 50, m<=104, bi<=2n)输入:第一行包含一个数字,即测试用例的数量T。对于每个测试用例,第一行包含两个数字n,m。第二行包含数字为数组 b 。输出:对于每个测试用例,用数字打印一行。保证至少有一个解决方案。如果有不同的解决方案,打印字典序最小的一个为数组 a 。样例输入22

2020-07-23 09:35:41 142

原创 基础算法题——画树(卡特兰数)

卡特兰数简介卡特兰数又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现在各种计数问题中出现的数列。卡特兰数前几项为 : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466267020, 91482563640, 343059613

2020-07-21 23:12:38 384

原创 排列组合(递推矩阵)

排列与组合有什么区别?排列与元素的顺序有关,组合与顺序无关。如何递推出对应的排列组合呢?①组合通过上面的组合公式可以得到下面的数据表格n\m0123456…00000000…11000000…21200000…31360000…4141224000…515206012000…61630203607200……

2020-07-19 13:12:55 2328 2

原创 基础算法题——Classical String Problem(字符环)

Classical String Problem题意:给定字符串S由小写字母组成。执行Q次操作。每个操作都可以是以下两种类型之一:(M)修改:给定一个整数x。您需要根据x的值修改S。如果x是正的,则将 S 字符串中左边的 x 个字母移动到S字符串的右侧;否则,将 S 字符串中右边的 x 字母移到S字符串的左侧。(A)询问:给定一个正整数x。查询当前字符串S中的第x个字母是什么。提示:2 ≤ ∣S∣ ≤ 2×1061 ≤ Q ≤ 8×105当操作为M时, 1 ≤ ∣x∣ < ∣S∣

2020-07-18 23:09:49 547

原创 C++STL库神器:next_permutation与prev_permutation

next_permutation() 与 prev_permutation()相同之处头文件:algorithm使用方法:next_permutation(s.begin(), s.end());将s字符串 s 转换为下一个全排列。next_permutation(arr, arr+n);将数组 arr 转换为下一个全排列。prev_permutation(s.begin(), s.end());将s字符串 s 转换为上一个全排列。prev_permutation(arr, arr+n)

2020-07-18 11:17:28 258

原创 基础算法题——修复公路(并查集、kruskal)

题目背景A地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车。政府派人修复这些公路。题目描述给出A地区的村庄数N,和公路数M,公路是双向的。并告诉你每条公路的连着哪两个村庄,并告诉你什么时候能修完这条公路。问最早什么时候任意两个村庄能够通车,即最早什么时候任意两条村庄都存在至少一条修复完成的道路(可以由多条公路连成一条道路)输入格式第1行两个正整数N,M下面M行,每行 3 个正整数x, y, t,告诉你这条公路连着x,y两个村庄,在时间t时能修复完成这条公路。输出格式如果全部公路修复完

2020-07-16 23:55:06 789

原创 基础算法题——折线分割平面(规律)

题目我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。Input输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0<n<=10000),表示折线的数量。Output对于每个测试实例,请输出平面的最大分割数,每个实例的输出占一行。Sample Input212题目中折线表明,折线由两条射线组成,折线上的

2020-07-16 14:28:30 749

原创 C语言中十进制转换十六进制(细解)

十进制转换十六进制#include<stdio.h>#define ll long longint main(){ ll a, b; while(scanf("%lld %lld",&a,&b)!=EOF) { if(a+b<0){ printf("-%llX\n", -1 * (a+b)); } else{ printf("%llX\n",a+b); } } return 0;}%X与%x的区别 字母:

2020-07-16 13:38:51 14139

原创 基础算法题——移动字母(避免多次使用c++对象)

题目链接:牛客网给定一个只包含小写字母的字符串s,牛牛想将这个字符串中的所有’a’字母全部移动到字符串的末尾,而且保证其它字符的相对顺序不变。其中字符串s的长度<=1e6。示例1输入abcavv输出bcvvaa代码一:#include<bits/stdc++.h>using namespace std;string change(string s);int main(){ string s; cin>>s; cout<<c

2020-07-09 23:04:44 383

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除