热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:苏州大学ICPC集训队新生赛第二场

A-Score UVA-1585水

A - Score

 UVA - 1585

技术图片技术图片

#include
using namespace std;
int main(){
int n;
cin
>>n;
while(n--){
int sum=0;
string s;
cin
>>s;
int len=s.size();
int tmp=0;
for(int i=0;i){
if(s[i]==O)sum+=tmp,tmp++;
else {
sum
+=tmp;
tmp
=0;
}
}
sum
+=tmp;
cout
<endl;
}
return 0;
}


View Code

B - Tetrahedron

题意:四面体,从D走n-1步回到D点,问你有多少种走法,数据量1e7;

标准错误解法:广搜:

技术图片技术图片

#include<iostream>
#include

using namespace std;
#define rep(i,j,k) for(int i=(int)j;i<=(int)k;i++)
#define per(i,j,k) for(int i=(int)k;i>=(int)j;i--)
#define pb push_back
#define pf push_front
#define fi first
#define se second 11
typedef
long long ll;
typedef unsigned
long long ull;
typedef
long double ldb;
typedef
double db;
// const db PI=acos(-1.0);
const ll INF=0x3f3f3f3f3f3f3f3fLL;
const int inf=0x3f3f3f3f;//0x7fffffff;
const double eps=1e-9;
const ll MOD=1e9+7;
const int maxn=1e3+5;
ll n,ans;
struct node{int id;ll step;node(int x,ll y){id=x,step=y;}};
void bfs(){
queue
Q;
Q.push(node(
4,0));
while(!Q.empty()){
node tmp
=Q.front();
Q.pop();
if(tmp.step==n&&tmp.id==4){
ans
++;
}
if(tmp.id==1&&tmp.step<n){
int t=(tmp.step+1)%MOD;
Q.push(node(
2,t));
Q.push(node(
3,t));
Q.push(node(
4,t));
}
if(tmp.id==2&&tmp.step<n){
int t=(tmp.step+1)%MOD;
Q.push(node(
3,t));
Q.push(node(
4,t));
Q.push(node(
1,t));
}
if(tmp.id==3&&tmp.step<n){
int t=(tmp.step+1)%MOD;
Q.push(node(
1,t));
Q.push(node(
2,t));
Q.push(node(
4,t)); } if(tmp.id==4&&tmp.step<n){
int t=(tmp.step+1)%MOD;
Q.push(node(
1,t));
Q.push(node(
2,t));
Q.push(node(
3,t));
}
}
}
int main(){
cin
>>n;
ans
=0;
bfs();
cout
<endl;
// system("pause");
return 0;
}


View Code

fyh正解:dp;

这个很像dp,定义状态:  dp(i,j)为走i步,到了 j 点 ;

每走一步都受前面状态影响:转移方程为:    dp[i][j]+=dp[i-1][k];   

技术图片技术图片

#include
using namespace std;
#define rep(i,j,k) for(int i=(int)j;i<=(int)k;i++)
#define per(i,j,k) for(int i=(int)k;i>=(int)j;i--)
#define pb push_back
#define pf push_front
#define fi first
#define se second 11
typedef
long long ll;
typedef unsigned
long long ull;
typedef
long double ldb;
typedef
double db;
// const db PI=acos(-1.0);
const ll INF=0x3f3f3f3f3f3f3f3fLL;
const int inf=0x3f3f3f3f;//0x7fffffff;
const double eps=1e-9;
const ll MOD=1e9+7;
const int maxn=1e7+5;
int dp[maxn][4];
int main(){
int n;
cin
>>n;
dp[
0][0]=0;
dp[
1][1]=1;
dp[
1][2]=1;
dp[
1][3]=1;
for(int i=2;i<=n;i++)
for(int j=0;j<=3;j++){
for(int k=0;k<=3;k++){
if(j==k)continue;
dp[i][j]
+=dp[i-1][k];
// else dp[i][j]=
dp[i][j]%=MOD;
}
}
cout
<0]<<endl;
return 0;
}


View Code

 


推荐阅读
  • poj 3352 Road Construction ... [详细]
  • 本文介绍如何使用线段树解决洛谷 P1531 我讨厌它问题,重点在于单点更新和区间查询最大值。 ... [详细]
  • 本文对比了杜甫《喜晴》的两种英文翻译版本:a. Pleased with Sunny Weather 和 b. Rejoicing in Clearing Weather。a 版由 alexcwlin 翻译并经 Adam Lam 编辑,b 版则由哈佛大学的宇文所安教授 (Prof. Stephen Owen) 翻译。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • Codeforces竞赛解析:Educational Round 84(Div. 2评级),题目A:奇数和问题
    Codeforces竞赛解析:Educational Round 84(Div. 2评级),题目A:奇数和问题 ... [详细]
  • 本文提出了一种基于栈结构的高效四则运算表达式求值方法。该方法能够处理包含加、减、乘、除运算符以及十进制整数和小括号的算术表达式。通过定义和实现栈的基本操作,如入栈、出栈和判空等,算法能够准确地解析并计算输入的表达式,最终输出其计算结果。此方法不仅提高了计算效率,还增强了对复杂表达式的处理能力。 ... [详细]
  • 本文详细介绍了Java反射机制的基本概念、获取Class对象的方法、反射的主要功能及其在实际开发中的应用。通过具体示例,帮助读者更好地理解和使用Java反射。 ... [详细]
  • Flutter 2.* 路由管理详解
    本文详细介绍了 Flutter 2.* 中的路由管理机制,包括路由的基本概念、MaterialPageRoute 的使用、Navigator 的操作方法、路由传值、命名路由及其注册、路由钩子等。 ... [详细]
  • Ihavetwomethodsofgeneratingmdistinctrandomnumbersintherange[0..n-1]我有两种方法在范围[0.n-1]中生 ... [详细]
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • Halcon之图像梯度、图像边缘、USM锐化
    图像梯度、图像边缘、USM锐化图像梯度、图像边缘、USM锐化图像梯度、图像边缘、USM锐化图像卷积:1.模糊2.梯度3.边缘4.锐化1.视频教程:B站、 ... [详细]
  • 单片微机原理P3:80C51外部拓展系统
      外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC。0.IO接口电路概念与存 ... [详细]
  • 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4277。作者:Bob Lee,日期:2012年9月15日。题目描述:给定n个木棍,求可以组成的不同三角形的数量,最多15根木棍。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 在尝试对 QQmlPropertyMap 类进行测试驱动开发时,发现其派生类中无法正常调用槽函数或 Q_INVOKABLE 方法。这可能是由于 QQmlPropertyMap 的内部实现机制导致的,需要进一步研究以找到解决方案。 ... [详细]
author-avatar
mobiledu2502926997
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有