
vijos
文章平均质量分 53
zafkiel_nightmare
弱弱的程序员
展开
-
vijos 1035 贪婪的送礼者
额,把题目读懂应该没问题,虽然繁琐,但难度不大.#include#include using namespace std;struct stu{ string nam; int old; int get; int left; int ans;};int main(){ int i,j,k,s,t; cin>>t; getchar(); stu num[t];原创 2015-02-14 21:58:15 · 746 阅读 · 0 评论 -
vijos 1104 采药
简单背包问题并没有难度#include#include#include#include#include#include#include#include#include#include#include#define maxn 1000+5using namespace std;struct stu{ int time,vaule;};stu a[maxn];原创 2015-06-11 18:23:49 · 586 阅读 · 0 评论 -
vijos 1234 口袋的天空
最小生成树kruscal算法#include#include#include#define maxn 10005using namespace std;struct stu{ int x,y; int t;};stu mapp[maxn];int f[1005];int n,m,k,sum,flag;bool cmp(stu x,stu y){ return x.原创 2015-06-23 15:56:14 · 756 阅读 · 0 评论 -
vijos 1132 求二叉树的先序序列
第一次写,搞了一晚上,ac得那一瞬间泪流满面....建树的时候参数一定要是地址啊,千万不要带指针进去啊QAQ#include#includeusing namespace std;struct root{ char num; root* left; root* right;};string zh,ho;void build(root* &s,int as,int ae,in原创 2015-04-30 23:23:28 · 513 阅读 · 0 评论 -
vijos P1062 迎春舞会之交谊舞
这题被归类为栈,所以用栈来做咯;总体思想还是括号匹配,不过关键在于如何求出相互匹配的两人中夹杂着多少个男生,我的方法是定义结构体记录每个人左边男生的个数#include#include#define maxn 1500+5using namespace std;struct stu{ int a,sex;//a位,该人(无论男女)左边男生的个数,sex为该人的性别; };s原创 2015-04-29 12:30:32 · 953 阅读 · 0 评论 -
vijos P1114 FBI树
二叉树,后续遍历#includeusing namespace std;string ans;int n;void build(int l,int r){ int mid=(r+l)/2; if(l!=r) { build(l,mid); build(mid+1,r); } int num0=0,num1=0; for(int i=l;i<=r;i++) {原创 2015-04-29 20:34:40 · 757 阅读 · 0 评论 -
vijos 1025 小飞侠的游园方案
01背包,无压力#includeusing namespace std;int dp[1000+5]={0};int main(){ int i,j,n,t; cin>>n>>t; int pr[n][2]; for(i=0;i<n;i++) { cin>>pr[i][0]>>pr[i][1]; } for(i=0;i<n;i++) { for(j=t;j>=p原创 2015-02-23 16:54:40 · 527 阅读 · 0 评论 -
vijos 1042 捕风捉影
这题与hdu上的1431类似,但多加了一个条件,那就是必须是素数,结合了之前的经验,还是很轻松的a了这题.第一条件是素数,果断筛选(模版走起),应该没什么问题.之后就是回文了,简单说说可以优化的地方1. 5-99内满足题意的数只有5,9,11;因此,我们直接从100开始找.2. 其次就是偶数位回文数必定能被11整除,被整除之后的数依然回文(但回文数乘以11并不一定是回文数)原创 2015-02-22 20:53:27 · 668 阅读 · 0 评论 -
vijos 1047 最小公倍数
高精度辗转相除法求最大公约数,再a*b/最大公约数.模版偷的#include#include#includeusing namespace std;const int L=310;string add(string a,string b){ string ans; int na[L]={0},nb[L]={0}; int la=a.size(),lb=b原创 2015-02-25 19:59:06 · 418 阅读 · 0 评论 -
vijos 1034 家族
第一次写并查积,千辛万苦总算是过了#include#define maxn 5000+5using namespace std;int father[maxn];void re(){ int i; for(i=0;i<maxn;i++) { father[i]=i; }}int find(int a)//找根 { if(a!=father[a]) { fat原创 2015-02-16 20:30:29 · 560 阅读 · 0 评论 -
vijos 1115 火星人
说了那么多,其实就是遍历全排列#include#include#include#include#include#include#include#include#include#include#include#define maxn 10000+5using namespace std;int a[maxn];int main(){ int n,m; while原创 2015-06-11 18:36:46 · 495 阅读 · 0 评论