- 博客(12)
- 收藏
- 关注
原创 分治算法与最优子·解得区别
1)二者都要求原问题具有最优子结构性质,都是将原问题分而治之,分解成若干个规模较小(小到很容易解决的程序)的子问题。然后将子问题的解合并,形成原问题的解。② 动态规划通常利用迭代法自底向上求解,但也能用具有记忆功能的递归法自顶向下求解。② 动态规划将分解后的子问题理解为相互间有联系,有重叠部分。① 分治法将分解后的子问题看成相互独立的。① 分治法通常利用递归求解。
2023-03-24 14:36:33
290
原创 洛谷1143进制转换
#include <stdio.h> #include <ctype.h> int main() { int n, m, i, sum = 0, time = 1; char a[50]; int b[50]; int c[50]; scanf("%d%s\n%d", &n, a, &m); for (i = 0; a[i]; i++) if (isdigit(a[i]))//isdigit是判断.
2021-11-11 11:14:00
154
原创 洛谷 烦恼的高考题,二分
#include<stdio.h> int xx[100005], xs[1000005], pxx[100005]; int i, j, m, n; void quicksort(int left, int right) { int i, j, t, temp; if (left > right) return; temp = xx[left]; //temp中存的就是基准数 i = left; j = right; ...
2021-11-11 11:06:26
103
原创 洛谷1255数楼梯,高精加法,递归
#include<stdio.h> int f[5005][5005], n, len = 1; void gjlt(int k) { for (int i = 1; i <= len; i++) {//循环让每位都相加 f[k][i] = f[k - 1][i] + f[k - 2][i];//i不变,表示每一位用递归加法 } for (int i = 1; i <= len; i++) {//高精加法 if (f[k][i] >= 10) {//该位.
2021-11-11 10:57:22
344
原创 题目来源:pat1001
#include<stdio.h> int main() { int n, i=0; scanf("%d",& n); while (n != 1) { i = i + 1; if (n %2 != 0) { n = (3 * n + 1) ; } n = n / 2; } printf("%d", i); return 0; } //判断奇,偶数 ...
2021-11-11 10:55:13
108
原创 2021.11.10八皇后
#include<stdio.h> #define queen_size 8 int n, i, x; int map[100][100] = { 0 }; int ans[15] = { 0 };//存前三组答案 int cnt = 0; bool hang[100] = { 0 }; bool lie[100] = { 0 }; bool xie1[100] = { 0 }; bool xie2[100] = { 0 };//标记是否有皇后 void set(int x, int y) {
2021-11-10 11:28:53
92
原创 luogu2249查找
#include<stdio.h> int a[1000005], b[1000005]; int i, j, n, m ,mid,l,r; int erf(int l, int r) { while (l < r) { int mid = (l + r) / 2; if (a[mid] >= b[j]) r = mid; else l = mid+1; } ...
2021-11-09 20:56:28
96
原创 2021.11.11高精加法
第二次修改 #include<stdio.h> #include<string.h> #define N 101 int main() { char a[N], b[N]; scanf("%s", a); scanf("%s", b); int c[N] = { 0 }; int len1 = strlen(a); int len2 = strlen(b); int i = len1 - 1; int j = len2...
2021-11-08 17:04:45
88
原创 洛谷 分数线的划定,排序,
#include<stdio.h> int s[105], k[10005][105]; int main() { int n, m, ss, kk, count = 0, i, x, j; scanf("%d%d", &n, &m); m = m * 1.5;//取整 for (i = 0; i < n; i++) { scanf("%d%d", &kk, &ss); k[kk][ss]++;...
2021-10-31 17:10:17
375
1
原创 多项式输出问题(模拟)
#include<stdio.h> int n, a[105]; int abs(int n) { return n > 0 ? n : -n;//函数型,输出该数的绝对值, } int main() { scanf("%d", &n); for (int i = n; i >= 0; i--) scanf("%d", &a[i]); bool flag = 1; //重点:给其初始化的值与循环的每一次都不一样...
2021-10-24 18:54:25
178
原创 2021-10-22乒乓球,转换,模拟
#include <stdio.h> char a[1000000]; //其实可以不保存,但是本人习惯 int w, l, x, n, g, t, m, i; int main() { int p[10000], q[10000]; while (scanf("%c", &a[t]) && a[t] != 'E') { //读取数据,到‘E’结束 if (a[t] == 'W') { w+...
2021-10-22 10:19:15
114
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅