打表:
打表,是一个信息学专用术语,意指对一些题目,通过打表技巧获得一个有序表或常量表,来执行程序某一部分,优化时间复杂度。这种算法也可用于在对某种题目没有最优解法时,用来得到分数的一种策略。
例题:
例1:https://sdnuoj.rainng.com/problem/show/1304
分析: 约瑟夫环问题,正常跑的话肯定会很慢,但是这题k只到14…所以,偷个懒直接打表到14就好了
代码:
#include <bits/stdc++.h>//因为k最多只有十四个所以可以暴力打表
using namespace std;
typedef long long ll;
#define inf 0x3f3f3f3f
const int N = 1e5 + 7;
int k, ans;
int main(){
std::ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
while(cin >> k){
if(k == 0) break;