一、不错的网站
CCF CCSP 竞赛历年资料
官网 http://118.190.20.162/home.page
二、基础套路
循环输入
数组标记法(数组下标-数值 的映射)
两个矩阵相乘
map<long long, map<long long, long long> > ans;
for(int i=1;i<=d;i++){for(int j=1;j<=d;j++){int x=0;for(int k=1;k<=n;k++) x+=K[i][k]*V[k][j];ans[i][j] = x;}
}
三、一点题记录
放上刷的基础题
//202305-1 重复局面
#include <iostream>
#include <vector>using namespace std;
int v[1000][1000] ={0};//二维数组放main里段错误不知为何int main()
{int n;cin >> n ;vector <string > ll;string strAll;//吞多余的空行string str1;getline(cin, str1);for (int i = 1; i <= n*8; i++){string str;getline(cin, str);strAll += str;if (i%8==0){ll.push_back(strAll);strAll.clear();} }for (int i = 0; i < n; i++){ int count = 0;for (int j = i; j >= 0; j--){if(ll[i].compare(ll[j]) == 0){count++;}}cout<<count<<endl;cout<<ll[i]<<endl;;}system("pause");return 0;
}
//202212-1 现值计算
#include <iostream>
#include <cmath>
using namespace std;int main()
{int n;double m;cin >> n >> m ;int v[1000] = {0};for(int i=0;i<n+1;i++){int x;cin >> x;v[i] = x; }//读值套路完毕↑double sum = v[0];for(int i=1;i<n+1;i++){sum += v[i] * pow((1+m),-i); } cout << sum << endl;system("pause");return 0;
}