
模拟
Jiahe Xu
为何要去攀登珠穆朗玛峰,因为她就在那里啊.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
wikioi1106 篝火晚会 置换模拟
先以第一个数为1得到一个序列,检查其是否可以组成原创 2014-07-07 18:40:42 · 646 阅读 · 0 评论 -
bzoj1058: [ZJOI2007]报表统计 STL
强大的stl,硬生生地把200多行的原创 2014-07-26 19:03:11 · 691 阅读 · 0 评论 -
BZOJ1011: [HNOI2008]遥远的行星 乱搞
这真是一道坑爹的题目啊,虽然我猜到怎么做了,但是还是不会搞。 设f[i]表示第i个行星所受的引力,g[i]表示第i个行星所受引力的最后来源行星。 则: 注意到题目中说了误差允许在百分之五之内,所以我们考虑f[i+t]与f[i]的关系。 由于:#include #include #原创 2014-11-29 12:50:14 · 747 阅读 · 0 评论 -
bzoj3234: [Ahoi2013]立方体 括号法
看到题目首先想到200^4的乱搞。竟然有70分。。。。正解是神奇的括号法,对8个角进行处理,然后求一下前缀和。再从一个没被包住的点开始访问,如果访问到一个点的f值是正数,说明这是一个面。#include #include #include #include #include using namespace std;int f[210][210][210];bool vis[2原创 2014-11-30 22:22:01 · 711 阅读 · 0 评论 -
bzoj1019: [SHOI2008]汉诺塔 dp
根据操作方式,易知对给定任意状态->题中目标状态的操作序列均是唯一的.所以想到递推.结合汉诺塔&&BLAH,可想到递推方程: f[x][i] ,g[x][i] 分别表示,当前x柱上有i个圆盘,将它们移至任意另一个柱的操作数,和另一柱子的编号.(如上,这显然对任意连续的i个圆盘,都是唯一固定的)f[x][i],g[x][i] 可由 f[][i-1],g[][i-1] 推得:汉诺塔的经典转原创 2014-12-10 23:26:54 · 1062 阅读 · 0 评论 -
bzoj1830: [AHOI2008]Y型项链 贪心+乱搞
首先我们知道假如确定了某个长度的项链,那么多的肯定去掉。我们可以先找两个串找出它们的公共部分,其余的删掉,再确定第三条。由于三个项链是像栈一样的存储方式,我们从0开始往上有一个不同的话,后面的都得换,如果还要加入珠子的话操作不就更多了吗/#include #include #include #include using namespace std;int len[10];cha原创 2014-12-14 22:04:13 · 1007 阅读 · 0 评论 -
wikioi1180 模拟
#include#include#include #include #define SUM(x) (x+n)using namespace std;int n,b,k,num[50000],sum[50000],lft[100000],rht[100000],ans;int main(){ while(~scanf("%d%d",&n,&b))原创 2014-08-03 19:44:02 · 534 阅读 · 0 评论 -
wikioi3288 积木大赛
本题很简单找出规律即可,第一次参加联赛的题目,很可惜原创 2014-04-30 19:49:24 · 806 阅读 · 0 评论 -
bzoj1432: [ZJOI2009]Function
找规律#include #include #include #include #include using namespace std;int n,k;int main(){ int ans; scanf("%d%d",&n,&k); if(n==1) { ans=1; } else { ans原创 2014-07-22 19:02:31 · 1092 阅读 · 0 评论 -
vijos1016
#include#include#include#includeusing namespace std;int a[10],b[10][10]={{0}, {0,1,1,0,1,1,0,0,0,0}, {0,1,1,1,0,0,0,0,0,0}, {0,0,1,原创 2014-08-22 10:43:45 · 511 阅读 · 0 评论 -
wikioi3119高精度开根
#include #include #include #include using namespace std;int l;int work(int k,char *s,int I){ char c, *d=s ; if(k>0) { for(l=0;d[l];d[l++]-=10) { d[l++]-=原创 2014-09-06 15:20:48 · 1102 阅读 · 0 评论 -
poj3658 模拟
#include #include #include #include using namespace std;#define maxn 110000#define ll long long#define inf 1000000000000ll ans[maxn],last[maxn],next[maxn],w[maxn],h[maxn];int main (){ in原创 2014-09-07 15:50:39 · 940 阅读 · 0 评论 -
bzoj1800: [Ahoi2009]fly 飞行棋 统计直径
/************************************************************** Problem: 1800 User: xujiahe Language: C++ Result: Accepted Time:0 ms Memory:1276 kb****************************原创 2014-08-23 20:33:35 · 682 阅读 · 0 评论 -
zoj3965 由2个dfs序还原二叉树
题意:给定两个二叉树的dfs序,输出每个节点的父节点,根的父节点为0,保证有解题解:当前节点在两个串中后面的节点假如不同则能确认两个子树,如果相同则把下个点作当前点的一个儿子。如果子树中还有未连根的点则接到当前点下。son数组表示每个点的子树有多少个点。pos数组记录每个数在每个序列中的位置。dfs中p1,p2指向同一个数lim1,lim2表示当前点子树可能最大的子树范围。ps:比赛的原创 2017-04-24 19:03:23 · 995 阅读 · 0 评论