@(e acmer)
在比賽中竟然沒有除錯正確,把函式裡面分配的區域性變數來作為鍊錶的內容了顯然函式一結束這塊記憶體就被**了.
code:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
typedef pair pii;
typedef
long
long ull;
typedef
long
long ll;
typedef
vector
vi;
#define xx first
#define yy second
#define rep(i, a, n) for (int i = a; i < n; i++)
#define sa(n) scanf("%d", &(n))
#define vep(c) for(decltype((c).begin()) it = (c).begin(); it != (c).end(); it++)
const
int mod = int(1e9) + 7, inf = 0x3fffffff, maxn = 1e5 + 12;
int cnt;
struct node *p;
void moves(int x)
}void get(int n)
p -> nexts = cur;
cur -> lasts = p;
p = cur;
return;
}void del(void)
int main(void)
*/for (int i = 1; i <= n - 1; i++)
printf(",%d\n", p -> v);
}return
0;}
觀察發現: f(code:n,k)
=(f(
n−1,
k1)+
k2)%
n
int ysf(int n, int k)
但是,回到本題,每一次拿的位置是遞增的,這裡的k1
=k2+
1 ,只需稍作改變即可.
int ysf(int n, int k)
ac_code:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
typedef pair pii;
typedef
long
long ull;
typedef
long
long ll;
typedef
vector
vi;
#define xx first
#define yy second
#define rep(i, a, n) for (int i = a; i < n; i++)
#define sa(n) scanf("%d", &(n))
#define vep(c) for(decltype((c).begin()) it = (c).begin(); it != (c).end(); it++)
const
int mod = int(1e9) + 7, inf = 0x3fffffff, maxn = 1e5 + 12;
int fun(int n, int k)
int main(void)
return
0;}
HDU5643 約瑟夫環變形
題意 變形的約瑟夫環,最初為每個人編號 1到n 第 i 次刪去報號為 i 的人,然後從它的下乙個人開始重新從1開始報號,問最終剩下第幾號人 思路 媽的,我推不出來,笨方法,打表儲存,不過以後做題也可以這麼用哦 include include include include include defin...
約瑟夫環加強版
include include typedef struct node node node creat int n s next head next free head return s next void main printf n d號淘汰 p next data temp p next 應刪除...
約瑟夫問題 資料加強版
約瑟夫問題在大部分情況中是一道水題,但是如果把資料加強一點,可能會難倒一片人,所以今天來介紹如何a掉這題!這裡介紹的資料範圍n,m均在30000以內 include include include include include include include include include inc...