目录
A. Vitaly and Strings
Code:
B. Tanya and Postcard
C. Anya and Smartphone
D. Ilya and Escalator
首页 数据库 mysql教程 第二十九次codeforces竞技结束 #293 Div 2

第二十九次codeforces竞技结束 #293 Div 2

Jun 07, 2016 pm 03:08 PM
d 结束

Problems # Name A Vitaly and Strings standard input/output 1 s, 256 MB x2731 B Tanya and Postcard standard input/output 2 s, 256 MB x2749 C Anya and Smartphone standard input/output 1 s, 256 MB x2299 D Ilya and Escalator standard input/out

Problems

第二十九次codeforces竞技结束 #293 Div 2

 

 

# Name    
A

Vitaly and Strings

standard input/output

1 s, 256 MB
第二十九次codeforces竞技结束 #293 Div 2 第二十九次codeforces竞技结束 #293 Div 2 第二十九次codeforces竞技结束 #293 Div 2 x2731
B

Tanya and Postcard

standard input/output

2 s, 256 MB
第二十九次codeforces竞技结束 #293 Div 2 第二十九次codeforces竞技结束 #293 Div 2 第二十九次codeforces竞技结束 #293 Div 2 x2749
C

Anya and Smartphone

standard input/output

1 s, 256 MB
第二十九次codeforces竞技结束 #293 Div 2 第二十九次codeforces竞技结束 #293 Div 2 第二十九次codeforces竞技结束 #293 Div 2 x2299
D

Ilya and Escalator

standard input/output

2 s, 256 MB
第二十九次codeforces竞技结束 #293 Div 2 第二十九次codeforces竞技结束 #293 Div 2 第二十九次codeforces竞技结束 #293 Div 2 x1453

向来赛完不写解题报告就会时运Down,以后不敢了Q^Q

这场比赛是相对较为简单,容易想到思路,适宜冲紫名的一场,但可惜Pretest数据可能弱了些让大家过的太爽了于是FST就多了起来反而掉分现象普及。

那么,一个个来看看吧


A. Vitaly and Strings

time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

Vitaly is a diligent student who never missed a lesson in his five years of studying in the university. He always does his homework on time and passes his exams in time.

During the last lesson the teacher has provided two strings s and t to Vitaly. The strings have the same length, they consist of lowercase English letters, string s is lexicographically smaller than string t. Vitaly wondered if there is such string that is lexicographically larger than string s and at the same is lexicographically smaller than string t. This string should also consist of lowercase English letters and have the length equal to the lengths of strings s and t.

Let's help Vitaly solve this easy problem!

Input

The first line contains string s (1?≤?|s|?≤?100), consisting of lowercase English letters. Here, |s| denotes the length of the string.

The second line contains string t (|t|?=?|s|), consisting of lowercase English letters.

It is guaranteed that the lengths of strings s and t are the same and string s is lexicographically less than string t.

Output

If the string that meets the given requirements doesn't exist, print a single string "No such string" (without the quotes).

If such string exists, print it. If there are multiple valid strings, you may print any of them.

Sample test(s)

input

a
c
登录后复制

output

b
登录后复制

input

aaa
zzz
登录后复制

output

kkk
登录后复制

input

abcdefg
abcdefh
登录后复制

output

No such string
登录后复制

Note

String s?=?s1s2... sn is said to be lexicographically smaller than t?=?t1t2... tn, if there exists such i, that s1?=?t1,?s2?=?t2,?... si?-?1?=?ti?-?1,?si?ti.


简单来说,给了两个字符串,问他们之间存在字典序夹在二者之间的字符串嘛?有的话随便输出一个,没有的话输出“No such string”,题目中已经告知了s一定字典序小于t,那么s的最后一位加一看看是不是和t一样不就行了嘛?一样就是不存在,不一样就输出咯?

嘿嘿,有坑哦~ 如果末位是z怎么办,如果末位是两个、三个……n个z怎么办呢?这不是数字可以9变成0然后进位哦~ 对了,我们自己用while写一个类似进位的操作不久好了嘛?

Code:

#include <cmath> 
#include <cctype>
#include <cstdio>
#include <string>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;

#define Max(a,b) ((a)>(b)?(a):(b))
#define Min(a,b) ((a) b;
}

int main()
{
	string s,t; cin>>s>>t;
	int l=s.length()-1;
	while(s[l]=='z')
	{
		s[l]='a';
		l--;
	}
	s[l]=s[l]+1;
	if(s==t) cout<br>

<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<h2 id="B-Tanya-and-Postcard">B. Tanya and Postcard</h2>
<p>
</p>
<p>
time limit per test</p>
2 seconds
<p>
</p>
<p>
memory limit per test</p>
256 megabytes
<p>
</p>
<p>
input</p>
standard input
<p>
</p>
<p>
output</p>
standard output

<p>
</p>
<p>
Little Tanya decided to present her dad a postcard on his Birthday. She has already created a message — string <span><em>s</em></span> of length <span><em>n</em></span>,
 consisting of uppercase and lowercase English letters. Tanya can't write yet, so she found a newspaper and decided to cut out the letters and glue them into the postcard to achieve string <span><em>s</em></span>.
 The newspaper contains string <span><em>t</em></span>, consisting of uppercase and lowercase English letters. We know that the length of string <span><em>t</em></span> greater
 or equal to the length of the string <span><em>s</em></span>.</p>
<p>
The newspaper may possibly have too few of some letters needed to make the text and too many of some other letters. That's why Tanya wants to cut some <span><em>n</em></span> letters
 out of the newspaper and make a message of length exactly <span><em>n</em></span>, so that it looked as much as possible like <span><em>s</em></span>.
 If the letter in some position has correct value and correct letter case (in the string <span><em>s</em></span> and in the string that Tanya will make), then she shouts joyfully
 "<span>YAY!</span>", and if the letter in the given position has only the correct value but it is in the wrong case, then the girl says "<span>WHOOPS</span>".</p>
<p>
Tanya wants to make such message that lets her shout "<span>YAY!</span>" as much as possible. If there are multiple ways to do this, then her second priority is to maximize
 the number of times she says "<span>WHOOPS</span>". Your task is to help Tanya make the message.</p>

<p>
</p>
<p>
Input</p>
<p>
The first line contains line <span><em>s</em></span> (<span>1?≤?|<em>s</em>|?≤?2·10<span>5</span></span>),
 consisting of uppercase and lowercase English letters — the text of Tanya's message.</p>
<p>
The second line contains line <span><em>t</em></span> (<span>|<em>s</em>|?≤?|<em>t</em>|?≤?2·10<span>5</span></span>),
 consisting of uppercase and lowercase English letters — the text written in the newspaper.</p>
<p>
Here <span>|<em>a</em>|</span> means the length of the string <span><em>a</em></span>.</p>

<p>
</p>
<p>
Output</p>
<p>
Print two integers separated by a space:</p>
<ul>
<li>
the first number is the number of times Tanya shouts "<span>YAY!</span>" while making the message,</li>
<li>
the second number is the number of times Tanya says "<span>WHOOPS</span>" while making the message.</li>
</ul>

<p>
</p>
<p>
Sample test(s)</p>
<p>
</p>
<p>
</p>
<p>
input</p>
<pre class="brush:php;toolbar:false">AbC
DCbA
登录后复制

output

3 0
登录后复制

input

ABC
abc
登录后复制

output

0 3
登录后复制

input

abacaba
AbaCaBA
登录后复制

output

3 4
登录后复制


说有一个小盆友他在报纸上剪下字来拼一个明信片,如果和自己想的字符一样而且大小写也一样了她就说“YAY”,如果字符一样大小写不一样她就说“Whoops”

要求YAY最多的情况中Whoops最多时的两者数量。

简单的说,给定两个字符串,问在第二个字符串中有多少个a中的严格区分大小写字符,排除掉这些字符后不严格区分大小写的有多少个。

因为字符串不长,可以暴力枚举。

先读一遍s得知需要哪些东西(这里想想我当时为啥hash呢,map简直轻松愉快呀,读者可以试试使用map mp,然后mp[a]++这样的操作,会比起数组hash来惬意的多),然后在t中找,严格区分大小写的数完记得减掉,然后再找一次不区分大小写的,输出两个数字即可。

Code:

#include <cmath> 
#include <cctype>
#include <cstdio>
#include <string>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;

#define Max(a,b) ((a)>(b)?(a):(b))
#define Min(a,b) ((a) b;
}

int cntl[26]={0},cntu[26]={0};	//cnt
int nedl[26]={0},nedu[26]={0};	//need

int main()
{
	int yay=0,whoops=0;
	string s,t; cin>>s>>t;
	for(int i=0;i<s.length if nedu else nedl for i="0;i<t.length();i++)" cntu cntl int p="min(nedl[i],cntl[i]);" cout return><br>

<p>
</p>
<h2 id="C-Anya-and-Smartphone">C. Anya and Smartphone</h2>
<p>
</p>
<p>
time limit per test</p>
1 second
<p>
</p>
<p>
memory limit per test</p>
256 megabytes
<p>
</p>
<p>
input</p>
standard input
<p>
</p>
<p>
output</p>
standard output

<p>
</p>
<p>
Anya has bought a new smartphone that uses <span>Berdroid</span> operating system. The smartphone menu has exactly <span><em>n</em></span> applications,
 each application has its own icon. The icons are located on different screens, one screen contains <span><em>k</em></span> icons. The icons from the first to the <span><em>k</em></span>-th
 one are located on the first screen, from the <span>(<em>k</em>?+?1)</span>-th to the <span>2<em>k</em></span>-th
 ones are on the second screen and so on (the last screen may be partially empty).</p>
<p>
Initially the smartphone menu is showing the screen number <span>1</span>. To launch the application with the icon located on the screen <span><em>t</em></span>,
 Anya needs to make the following gestures: first she scrolls to the required screen number <span><em>t</em></span>, by making <span><em>t</em>?-?1</span> gestures
 (if the icon is on the screen <span><em>t</em></span>), and then make another gesture — press the icon of the required application exactly once to launch it.</p>
<p>
After the application is launched, the menu returns to the first screen. That is, to launch the next application you need to scroll through the menu again starting from the screen number <span>1</span>.</p>
<p>
All applications are numbered from <span>1</span> to <span><em>n</em></span>. We know a certain
 order in which the icons of the applications are located in the menu at the beginning, but it changes as long as you use the operating system. <span>Berdroid</span> is intelligent system, so it changes the
 order of the icons by moving the more frequently used icons to the beginning of the list. Formally, right after an application is launched, Berdroid swaps the application icon and the icon of a preceding application (that is, the icon of an application on
 the position that is smaller by one in the order of menu). The preceding icon may possibly be located on the adjacent screen. The only exception is when the icon of the launched application already occupies the first place, in this case the icon arrangement
 doesn't change.</p>
<p>
Anya has planned the order in which she will launch applications. How many gestures should Anya make to launch the applications in the planned order?</p>
<p>
Note that one application may be launched multiple times.</p>

<p>
</p>
<p>
Input</p>
<p>
The first line of the input contains three numbers <span><em>n</em>,?<em>m</em>,?<em>k</em></span> (<span>1?≤?<em>n</em>,?<em>m</em>,?<em>k</em>?≤?10<span>5</span></span>) — the
 number of applications that Anya has on her smartphone, the number of applications that will be launched and the number of icons that are located on the same screen.</p>
<p>
The next line contains <span><em>n</em></span> integers, permutation <span><em>a</em><span>1</span>,?<em>a</em><span>2</span>,?...,?<em>a</em><span><em>n</em></span></span> — the
 initial order of icons from left to right in the menu (from the first to the last one), <span><em>a</em><span><em>i</em></span></span> — 
 is the id of the application, whose icon goes <span><em>i</em></span>-th in the menu. Each integer from <span>1</span> to <span><em>n</em></span> occurs
 exactly once among <span><em>a</em><span><em>i</em></span></span>.</p>
<p>
The third line contains <span><em>m</em></span> integers <span><em>b</em><span>1</span>,?<em>b</em><span>2</span>,?...,?<em>b</em><span><em>m</em></span>(1?≤?<em>b</em><span><em>i</em></span>?≤?<em>n</em>)</span> — the
 ids of the launched applications in the planned order. One application may be launched multiple times.</p>

<p>
</p>
<p>
Output</p>
<p>
Print a single number — the number of gestures that Anya needs to make to launch all the applications in the desired order.</p>

<p>
</p>
<p>
Sample test(s)</p>
<p>
</p>
<p>
</p>
<p>
input</p>
<pre class="brush:php;toolbar:false">8 3 3
1 2 3 4 5 6 7 8
7 8 1
登录后复制

output

7
登录后复制

input

5 4 2
3 1 5 2 4
4 4 4 4
登录后复制

output

8
登录后复制

Note

In the first test the initial configuration looks like (123)(456)(78), that is, the first screen contains icons of applications 1,?2,?3, the second screen contains icons 4,?5,?6, the third screen contains icons 7,?8.

After application 7 is launched, we get the new arrangement of the icons — (123)(457)(68). To launch it Anya makes 3gestures.

After application 8 is launched, we get configuration (123)(457)(86). To launch it Anya makes 3 gestures.

After application 1 is launched, the arrangement of icons in the menu doesn't change. To launch it Anya makes 1 gesture.

In total, Anya makes 7 gestures.


说有个智能手机,上面有n个APP,我要点其中的m个,每页最多可以放k个APP。

点击某个APP需要的手势的个数其实就是(pos/k)+(pos%k==0?0:1),即这个APP当前所在的位置除以每页最多放置的APP数,向上取整,因为我们需要滑动(当前所在页数-1)+点击1次=当前所在页数。

然后就是每次点击要前移一位的实现了:

if(pos>1)
		{
			int t=fdnum[pos-1];
			fdnum[pos-1]=now;
			fdpos[now]=pos-1;
			fdnum[pos]=t;
			fdpos[t]=pos;
		}
登录后复制

我用的方法是:数组1:每个位置对应当前位置的APP编号,数组2:每个APP编号当前所在的位置,然后借助临时变量t进行swap操作。

当然别忘了他就在第一页的时候不用和前一个调换位置哦。

然后,坑来了——

孩子们永远是那句话……int不是好东西啊,LL大法好啊,动不动int就溢出了烦不烦呢!明明就前300可以紫名了你就是不开心溢出让我FST,叹气……

Code:

#include <map>
#include <cmath> 
#include <cctype>
#include <cstdio>
#include <string>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;

#define Max(a,b) ((a)>(b)?(a):(b))
#define Min(a,b) ((a) b;
}

map<int> fdpos,fdnum; //num->pos & pos->num

int main()
{
	fdpos.clear();
	fdnum.clear();
	long long ans=0; // LL大法好……
	int n,m,k;	cin>>n>>m>>k;
	for(int i=1;i1)
		{
			int t=fdnum[pos-1];
			fdnum[pos-1]=now;
			fdpos[now]=pos-1;
			fdnum[pos]=t;
			fdpos[t]=pos;
		}
	}
	cout<br>

<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<h2 id="D-Ilya-and-Escalator">D. Ilya and Escalator</h2>
<p>
</p>
<p>
time limit per test</p>
2 seconds
<p>
</p>
<p>
memory limit per test</p>
256 megabytes
<p>
</p>
<p>
input</p>
standard input
<p>
</p>
<p>
output</p>
standard output

<p>
</p>
<p>
Ilya got tired of sports programming, left university and got a job in the subway. He was given the task to determine the escalator load factor.</p>
<p>
Let's assume that <span><em>n</em></span> people stand in the queue for the escalator. At each second one of the two following possibilities takes place: either the first person
 in the queue enters the escalator with probability <span><em>p</em></span>, or the first person in the queue doesn't move with probability <span>(1?-?<em>p</em>)</span>,
 paralyzed by his fear of escalators and making the whole queue wait behind him.</p>
<p>
Formally speaking, the <span><em>i</em></span>-th person in the queue cannot enter the escalator until people with indices from <span>1</span> to <span><em>i</em>?-?1</span> inclusive
 enter it. In one second only one person can enter the escalator. The escalator is infinite, so if a person enters it, he never leaves it, that is he will be standing on the escalator at any following second. Ilya needs to count the expected value of the number
 of people standing on the escalator after <span><em>t</em></span> seconds.</p>
<p>
Your task is to help him solve this complicated task.</p>

<p>
</p>
<p>
Input</p>
<p>
The first line of the input contains three numbers <span><em>n</em>,?<em>p</em>,?<em>t</em></span> (<span>1?≤?<em>n</em>,?<em>t</em>?≤?2000</span>, <span>0?≤?<em>p</em>?≤?1</span>).
 Numbers <span><em>n</em></span> and <span><em>t</em></span> are integers, number <span><em>p</em></span>is
 real, given with exactly two digits after the decimal point.</p>

<p>
</p>
<p>
Output</p>
<p>
Print a single real number — the expected number of people who will be standing on the escalator after <span><em>t</em></span> seconds. The absolute or relative error mustn't
 exceed <span>10<span>?-?6</span></span>.</p>

<p>
</p>
<p>
Sample test(s)</p>
<p>
</p>
<p>
</p>
<p>
input</p>
<pre class="brush:php;toolbar:false">1 0.50 1
登录后复制

output

0.5
登录后复制

input

1 0.50 4
登录后复制

output

0.9375
登录后复制

input

4 0.20 2
登录后复制

output

0.4
登录后复制


没错这就是个DP……

啊对了题意啊题意……

有个无限长的电梯,有n个人一列纵队在排队上电梯,每个人只能在前头都没人了的时候才能上电梯,每秒钟,有p的概率排在第一的人上了电梯,问:t秒后,电梯上人数的数学期望……

数学你好……概率学啦……

用dp[i][j]来表示当i个人排队时在第t秒电梯上人数的数学期望。

那么我们知道dp[i][j]应该等于

当[(i-1个人,j-1秒)时的期望+1] * p (这个人上去了)

加上 当[(i个人,j-1秒)时的期望 * (1-p) (这个人没上去)

具体的看看代码吧

Code:

#include<bits>
double dp[2005][2005];
int main()
{
	int n,t,i;
	double p;
	scanf("%d%lf%d",&n,&p,&t);
	for(i=1;i<br>
<br>

<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>


</bits>
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

云顶之弈s11什么时候结束 云顶之弈s11什么时候结束 Mar 18, 2024 pm 03:16 PM

云顶之弈的每个赛季都大约3个多月左右,目前云顶之弈S11赛季美测服于3月7日更新上线,云顶之弈和金铲铲于3月21日更新上线,推测s11赛季大概于7月初结束。云顶之弈s11什么时候结束答:7月初。1、推测s11赛季大概于7月初结束,具体的结束日期还需要等待官方公布。2、云顶之弈每个赛季都大约3个多月左右。3、云顶之弈S11赛季美测服于3月7日更新上线,云顶之弈和金铲铲于3月21日更新上线。4、S11赛季将加入一个全新的玩法机制,此外还将增加20多种新的奥恩神器。

如何用Python绘制3D地理图表 如何用Python绘制3D地理图表 Sep 28, 2023 am 10:19 AM

如何用Python绘制3D地理图表概述:绘制3D地理图表可以帮助我们更直观地理解地理数据和空间分布。Python作为一种功能强大且易于使用的编程语言,提供了许多库和工具,可用于绘制各种类型的地理图表。在本文中,我们将学习如何使用Python编程语言和一些流行的库,如Matplotlib和Basemap,来绘制3D地理图表。环境准备:在开始之前,我们需要确保已

使用电脑任务管理器的快捷键来结束任务的方法 使用电脑任务管理器的快捷键来结束任务的方法 Jan 02, 2024 pm 01:34 PM

很多小伙伴在使用电脑的时候遇见某个软件卡住。电脑动不了的情况,这个时候就需要调出任务管理器来结束这个进程,调出来后该如何使用快捷键结束这个任务呢?最简单的莫过于delete,还有其他的方法,下面一起来看看吧。任务管理器结束任务快捷键使用方法任务管理器的快捷键使用方法:1、组合键“Ctrl+Shift+ESC”。2、组合键“Ctrl+Alt+Delete”。结束任务的快捷键1、选定需要结束的任务点击“Delete”。2、选择需要结束的任务,组合键“alt+e”。

如何快速关闭Win11后台运行的快捷键? 如何快速关闭Win11后台运行的快捷键? Dec 28, 2023 am 09:54 AM

我们在用电脑的时候,难免会遇到一堆后台保持运行,导致拖慢了系统速度的问题,这时候有没有win11结束后台运行快捷键呢,其实我们只能快捷键打开任务管理器再关闭后台。win11结束后台运行快捷键:1、首先,我们按键盘“ctrl+shift+esc”组合快捷键,从而打开任务管理器页面。2、在任务管理器页面中,使用鼠标点击选择“名称”按钮选项。3、之后页面跳转,我们就可以直接看到当前运行的所有“后台进程”了。4、根据实际需要我们选择想要关闭的后台,在该选项的右下角点击“结束任务”即可。

如何使用Vue实现3D立体旋转特效 如何使用Vue实现3D立体旋转特效 Sep 19, 2023 am 08:42 AM

如何使用Vue实现3D立体旋转特效作为一种流行的前端框架,Vue.js在开发动态网页和应用程序中起着重要的作用。它提供了一种直观、高效的方式来构建交互式界面,并且易于集成和扩展。本文将介绍如何使用Vue.js实现一个令人惊叹的3D立体旋转特效,并提供具体的代码示例。在开始之前,请确保您已经安装了Vue.js,并且对Vue.js的基本用法有一定的了解。如果您还

腾讯会议如何结束会议-腾讯会议结束会议的具体操作 腾讯会议如何结束会议-腾讯会议结束会议的具体操作 Mar 05, 2024 pm 12:16 PM

你们在办公中是不是也经常使用腾讯会议软件呀?那么你们晓得腾讯会议如何结束会议吗?接下来,小编就为大伙带来了腾讯会议结束会议的具体操作,对此感兴趣的用户一同来下文看看吧。打开电脑,双击进入腾讯会议,然后登录点击进入快速会议点击结束会议按钮即可

如何使用Vue实现3D翻转特效 如何使用Vue实现3D翻转特效 Sep 21, 2023 pm 02:04 PM

如何使用Vue实现3D翻转特效导读:Vue.js是一款流行的JavaScript框架,它可以帮助我们构建交互性强的Web应用程序。在本文中,我们将探讨如何使用Vue.js来实现一个酷炫的3D翻转特效,并提供具体的代码示例供参考。介绍:3D翻转特效可以为我们的网站或应用程序增添一些互动性和吸引力。Vue.js作为一个灵活且易于使用的前端框架,可以轻松实现这样

如何利用Vue和Canvas创建炫酷的3D旋转图形 如何利用Vue和Canvas创建炫酷的3D旋转图形 Jul 17, 2023 pm 03:42 PM

如何利用Vue和Canvas创建炫酷的3D旋转图形引言:Vue和Canvas是两个非常强大的前端技术,它们分别擅长处理页面渲染和图像绘制。本文将介绍如何结合Vue和Canvas来创建炫酷的3D旋转图形效果。我们将探讨如何使用Vue来构建基本页面结构,以及如何使用Canvas来实现3D图形的绘制和旋转效果。通过学习本文,你将能够了解如何利用Vue和Canvas

See all articles