ZOJ 刷题记录 小黑屋 (`・д・´)
P1006:模拟
然而我的同余方程能过样例然而就是WA⊙﹏⊙b
【已查明:扩展欧几里得算法出了很隐蔽的问题】
int exGcd(int x,int y,int& a,int& b) //ax+by=gcd(x,y)
{
; b=; return x; }
int res=exGcd(y,x%y,a,b);
int t=a; a=b; b=t-x/y*b;
return res;
}
Correct exGcd Code
#include <cstdio>
#include <cstring>
#include <algorithm>
inline int code(char x)
{
switch(x)
{
;
;
;
}
}
inline char decode(int x)
{
switch(x)
{
: return '_';
: return '.';
;
}
}
int K;
;
;
char cpt[maxL];
bool input()
{
scanf("%d",&K);
if(!K) return false;
return scanf("%s",cpt);
}
int exGcd(int x,int y,int& a,int& b) //ax+by=gcd(x,y)
{
; b=; return x; }
int res=exGcd(y,x%y,a,b);
int t=a; a=b; b=t-b*x/y;
return res;
}
int mdEq(int a,int b,int m) //ax=b(mod m)
{
//let ax+km=b
int x,k;
int g=exGcd(a,m,x,k);
x*=(b/g); x%=m;
?x+m:x;
}
void solve()
{
int l=strlen(cpt);
;j<l;j++)
{
int i=mdEq(K,j,l);
putchar(decode((i+code(cpt[i]))%apb));
}
putchar('\n');
}
int main()
{
while(input()) solve();
;
}
Problem:ZOJ P1006 WA
#include <cstdio>
#include <cstring>
#include <algorithm>
],down[],left[],right[];
];
];
int N,Ns;
bool input()
{
scanf("%d",&N); Ns=N*N;
if(!N) return false;
;i<=Ns;i++)
scanf("%d%d%d%d",up+i,right+i,down+i,left+i);
return true;
}
bool move(int,int);
bool dfs(int);
inline bool move(int cur,int i)
{
used[i]=true;
fill[cur]=i;
)) return true;
used[i]=false;
return false;
}
bool dfs(int cur)
{
) return true;
bool res=false;
;
;
) st|=;
;i<=Ns;i++)
if(!used[i])
{
)
{
res=move(cur,i);
if(res) return true;
}
)
{
int& u=fill[cur-N];
if(up[i]==down[u])
{
res=move(cur,i);
if(res) return true;
}
}
)
{
];
if(left[i]==right[l])
{
res=move(cur,i);
if(res) return true;
}
}
else
{
int& u=fill[cur-N];
];
if(left[i]==right[l] && up[i]==down[u])
{
res=move(cur,i);
if(res) return true;
}
}
}
return false;
}
int main()
{
);
freopen("t.in","r",stdin);
while(input())
{
++cs;
) printf("\n");
memset(used,,sizeof(used));
printf()?"Possible":"Inpossible");
}
;
}
Problem:ZOJ P1008
P2672:DP+Hash优化转移
然而谁**能告诉我为啥会TLE!!( >﹏<。)
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <list>
struct Hash
{
int val;
int pos;
Hash(int v,int p):val(v),pos(p) {}
};
;
;
std::list<Hash> hash[dv+];
typedef std::list<Hash>::iterator Iter;
Iter x;
int N;
int arr[maxN];
short dp[maxN][maxN];
inline void insertHash(int v,int p)
{
hash[v&dv].push_back(Hash(v,p));
}
inline int findHash(int v,int p)
{
int res=maxN;
for(x=hash[v&dv].begin();x!=hash[v&dv].end();++x)
if(x->val == v && x->pos > p && x->pos < res)
res=x->pos;
: res ;
}
void init()
{
;i<=dv;i++) hash[i].clear();
;i<=N;i++) insertHash(arr[i],i);
}
bool input()
{
if(scanf("%d",&N)==EOF) return false;
;i<=N;i++) scanf("%d",arr+i);
return true;
}
void __solve()
{
init();
;
int s,t;
;i<N;i++) dp[i][N]=;
;j>;j--)
;i;i--)
{
int f=findHash(arr[j]+arr[i],j);
) dp[i][j]=;
) > ans)
{
ans=dp[i][j];
s=i; t=j;
}
}
printf("%d\n%d %d ",ans,arr[s],arr[t]);
int f;
)
{
printf("%d ",arr[f]);
s=t; t=f;
}
printf("\n\n");
}
void solve()
{
) printf(]);
) printf(],arr[]);
else __solve();
}
#include <ctime>
int main()
{
while(input()) solve();
;
}
Problem:ZOJ P2672 TLE
P3300:迷之WA
#include <cstdio>
#include <cstring>
#include <algorithm>
];
bool input()
{
int v;
if(scanf("%d",&v)==EOF) return false;
memset(cnt,,sizeof(cnt));
++cnt[v];
;i<=;i++)
{
scanf("%d",&v);
++cnt[v];
}
return true;
}
bool dfs(int eye)
{
bool res=true;
;i<=;i++) if(cnt[i]) { res=false; break; }
if(res) return true;
;i<=;i++)
] && cnt[i+])
{
--cnt[i]; --cnt[i+]; --cnt[i+];
res|=dfs(eye);
if(res) return true;
++cnt[i]; ++cnt[i+]; ++cnt[i+];
}
;i<=;i++)
)
{
cnt[i]-=;
res|=dfs(eye);
if(res) return true;
cnt[i]+=;
}
if(!eye) {
;i<=;i++)
)
{
cnt[i]-=;
res|=dfs(eye+);
if(res) return true;
cnt[i]+=;
}
}
return res;
}
void solve()
{
;
;i<=;i++)
{
) ++cnt[i];
else continue;
))
{
if(ok++) printf(" %d",i);
else printf("%d",i);
}
--cnt[i];
}
printf("\n");
}
int main()
{
while(input()) solve();
;
}
Problem:ZOJ P3300 WA
ZOJ 刷题记录 小黑屋 (`・д・´)的更多相关文章
- ZOJ 刷题记录 (。・ω・)ノ゙(Progress:31/50)
[热烈庆祝ZOJ回归] P1002:简单的DFS #include <cstdio> #include <cstring> #include <algorithm> ...
- PE刷题记录
PE刷题记录 PE60 / 20%dif 这道题比较坑爹. 所有可以相连的素数可以构成一张图,建出这张图,在其中找它的大小为5的团.注意上界的估算,大概在1W以内.1W内有1229个素数,处理出这些素 ...
- leetcode刷题记录--js
leetcode刷题记录 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但 ...
- Leetcode刷题记录(python3)
Leetcode刷题记录(python3) 顺序刷题 1~5 ---1.两数之和 ---2.两数相加 ---3. 无重复字符的最长子串 ---4.寻找两个有序数组的中位数 ---5.最长回文子串 6- ...
- 刷题记录:[HarekazeCTF2019]encode_and_encode
目录 刷题记录:[HarekazeCTF2019]encode_and_encode 一.知识点 JSON转义字符绕过 php伪协议 刷题记录:[HarekazeCTF2019]encode_and_ ...
- 刷题记录:[De1CTF 2019]Giftbox && Comment
目录 刷题记录:[De1CTF 2019]Giftbox && Comment 一.知识点 1.sql注入 && totp 2.RCE 3.源码泄露 4.敏感文件读取 ...
- 刷题记录:[强网杯 2019]Upload
目录 刷题记录:[强网杯 2019]Upload 一.知识点 1.源码泄露 2.php反序列化 刷题记录:[强网杯 2019]Upload 题目复现链接:https://buuoj.cn/challe ...
- 刷题记录:[XNUCA2019Qualifier]EasyPHP
目录 刷题记录:[XNUCA2019Qualifier]EasyPHP 解法一 1.error_log结合log_errors自定义错误日志 2.include_path设置包含路径 3.php_va ...
- 刷题记录:[DDCTF 2019]homebrew event loop
目录 刷题记录:[DDCTF 2019]homebrew event loop 知识点 1.逻辑漏洞 2.flask session解密 总结 刷题记录:[DDCTF 2019]homebrew ev ...
随机推荐
- bzoj 2463 [中山市选2009]谁能赢呢?(博弈)
2463: [中山市选2009]谁能赢呢? Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1290 Solved: 944[Submit][Stat ...
- [转载]JQuery.closest(),parent(),parents()寻找父节点
1.通过item-1查找 level-3(查找直接上级) $('li.item-1').closest('ul') $('li.item-1').parent() $('li.item-1').par ...
- OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】——序
OpenStack Havana 部署在Ubuntu 12.04 Server [OVS+GRE](一)——控制节点的安装 OpenStack Havana 部署在Ubuntu 12.04 Serve ...
- winform 获取文件夹的名称 分类: WinForm 2014-08-04 15:50 242人阅读 评论(0) 收藏
目的:获取项目路径下所有文件夹的名称,并绑定到Combobox控件下: 显示要求:此文件夹名称和他的子文件名称的集合: Combobox控件名称:cmbFile 图示: 代码实现: //项目路径 st ...
- 由 argv引出的main参数 分类: C/C++ 2014-11-08 18:00 154人阅读 评论(0) 收藏
我们经常用的main函数都是不带参数的.因此main 后的括号都是空括号.实际上,main函数可以带参数,这个参数可以认为是 main函数的形式参数.C语言规定main函数的参数只能有两个, 习惯上这 ...
- [RxJS] map vs flatMap
What's the difference between map and flatmap? First, let's show what map is. To show that, I need a ...
- JAVA异常的捕获与抛出原则
在可能会出现exception的地方,要使用try-catch或者throws或者两者都要.我的判断依据是:如果对可能出现的exception不想被外部(方法的调用者)知道,就在方法内部try-cat ...
- Java基础知识强化之集合框架笔记18:List集合特有的ListIterator迭代器
1. ListIterator(列表迭代器): ListIterator listIterator():List集合特有的迭代器 2. 代码示例: package cn.itcast_04; impo ...
- 转换字符串格式,可用于sql in
/// <summary> /// 转换字符串格式,可用于sql in /// </summary> /// <param name="lst"> ...
- HDFS的Java客户端操作代码(查看HDFS下的文件是否存在)
1.查看HDFS目录下得文件是否存在 package Hdfs; import java.io.IOException; import java.net.URI; import org.apache. ...