计算智能
大一下
qqqcp3
0.0
展开
-
SCAU 18308 最长公共子序列
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int dp[1001][1001];char s1[1001],s2[1001];int main(){ cin>>s1>>s2; int len1=strlen(s1),len2=strlen(s2); f原创 2021-05-19 13:01:25 · 206 阅读 · 0 评论 -
SCAU 8633 回文划分
#include <iostream>#include<cstdio>#include<math.h>#include<cstring>using namespace std;char a[1005];int dp[1005];int ok(int i,int j){ for(int k=0;k<=(j-i)/2;k++) if(a[i+k]!=a[j-k]) return 0; return 1;}i原创 2021-05-19 13:00:41 · 118 阅读 · 0 评论 -
SCAU 1079 三角形
看到一个很简洁的代码,分享一下转自@Jesses_is_me思路:这个代码中 i 的含义是三角形中的斜边或是三角形中较长的直角边,i是斜边时,通过i^2= b^2+ k^2 && i-b=1 确定上界当i为较长直角边时,i最小时趋近于b,代入i=b到k^2 = b^2 + i^2 得到i的下界,if语句判断是否为整数#include <iostream>#include <math.h>#include <stdlib.h>using n转载 2021-05-13 17:15:45 · 196 阅读 · 0 评论 -
SCAU 8615 快乐
01背包需要提前对i=0即选择第一道题与否进行初始化#include<iostream>#include<algorithm>#include<cstdio>using namespace std;//定义DP数组的定义为写到i题的快乐值int dp[100][10000];int n;int gethappy[1000];int losspow[10000];int main(){ cin>>n; for(int i=原创 2021-05-08 14:08:16 · 153 阅读 · 0 评论 -
SCAU 18920 校赛排名2
思路:这道题和前一个校赛排名不一样的地方就是输入的数据,这道题我们要先录入输入的队伍名字,后续通过查找队伍名字录入相关数据//参考了别的文章的把ac题的题目改成数字的小细节/*描述 下面是校赛的排名规则:比赛期间,提交代码后,系统会返回正确或错误等结果。最后的获胜者为正确解答题目最多,如果同题数则总用时最少的队伍。每道试题的时间花费将从竞赛开始到试题提交并且被判定为正确为止,其间每一次提交运行结果被判错误的话将被加罚20分钟时间,未正确解答的试题不记时,如果已经返回正确的题目再重复提交则不影响结果原创 2021-04-28 20:30:28 · 325 阅读 · 0 评论 -
SCAU 18107 校赛排名
#include<malloc.h>#include<iostream>#include<cstdio>#include<cstring>#include <vector>#include<algorithm>#include<math.h>#include<queue>using namespace std;typedef struct{ int ac; int time;原创 2021-04-27 23:12:56 · 302 阅读 · 0 评论 -
18124N皇后
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;//queen的坐标为(col,a[col])int a[20],k,answer;//利用递归void dfs(int col){ if(col==k+1)//最后若递归结束时col+1 使得col=k+1 { a原创 2021-04-21 20:48:26 · 149 阅读 · 0 评论 -
SCAU 偷懒的士兵2
//分治递归#include<iostream>#include<algorithm>//就按照视频说的写就好了#define wrong 123456789using namespace std;int F(int s,int step,int N){ if(N==3) return wrong; else if(N<3) return s; else return min(F(s,step原创 2021-04-07 20:20:36 · 318 阅读 · 0 评论 -
SCAU------1142 巡逻的士兵
Description有N个士兵站成一队列, 现在需要选择几个士兵派去侦察。为了选择合适的士兵, 多次进行如下操作: 如果队列超过三个士兵, 那么去除掉所有站立位置为奇数的士兵, 或者是去除掉所有站立位置为偶数的士兵。直到不超过三个战士,他们将被送去侦察。现要求统计按这样的方法,总共可能有多少种不同的正好三个士兵去侦察的士兵组合方案。注: 按上法得到少于三士兵的情况不统计。1 <= N <= 2的32次方-1输入格式有多行(可能有上百行,尽量优化代码),每行一个数字N,最后一行是0原创 2021-04-06 20:22:45 · 160 阅读 · 0 评论 -
SCAU 18440 走迷宫2 ----------BFS
//BFS//和上个迷宫问题差不多,只是多加了个走出迷宫的条件,用多case而已,多加几个if就好了//代码如下#include <iostream>#include<cstdio>#include <algorithm>#include <queue>using namespace std;char a[100][100];int v[100][100];int d[4][2]={{1,0},{0,1},{-1,0},{0,-1}};s原创 2021-03-31 09:14:26 · 461 阅读 · 0 评论 -
SCAU 18005 It is not ugly number
//计算丑数的思路:三指针+动态规划//处理非丑数的思路参考自@weixin_30437337#include <stdio.h>#include <malloc.h>int least(int x,int y,int z){ int temp = x<y?x:y; return temp<z?temp:z;}int nthUglyNumber(int n){ int nums[n]; nums[0]=1; int p原创 2021-03-29 12:08:52 · 622 阅读 · 1 评论 -
SCAU 18104 练习使用多case解题
多CASE的问题在般有3种情形:(1)有一个数字开始表明CASE数目;(2)以特殊标志表示结束;(3)要求处理到最后一行。现要求你在程序一次运行中,依次处理上述3种情况。有三批测试数据,第1批测试数据,开头会以一个数字告之该批CASE数量,每一个CASE是两个正整数;第1批测试数据结束后,紧接着是第2批数据,每一个CASE同样是两个正整数,第2批测试数据以两个0结束;第2批测试数据结束后,紧接着是第3批数据,每一个CASE也是两个正整数,第3批测试数据一直到数据输入结束;要求,每一个CASE,输出原创 2021-03-17 20:20:03 · 596 阅读 · 0 评论