Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

An approach to Programming Contests with C++


Published on

Published in: Education, Technology
  • Be the first to comment

An approach to Programming Contests with C++

  1. 2. A lil Bit About Templates B4 V Begin So, What Are They ??? <ul><li>It Aids Generic Programming </li></ul><ul><li> ( Basically, Makes Life Much Easier ) </li></ul><ul><li>You Can Create a Queue Of Type T where, T is of any type !!! </li></ul><ul><ul><li>Eg. queue<int> iq; </li></ul></ul><ul><ul><li>queue<string> sq; </li></ul></ul>
  2. 3. File Handling Handling Input, Output From Files Is Much Easier Than You Think !!! freopen(“input file name”,”r”,stdin); freopen(“output file name”,”w”,stdout);
  3. 4. - TIP - string s; getline(cin , s , ' '); Use this to read a whole line of text from the input file
  4. 5. <ul><li>A world of strings </li></ul>
  5. 6. Find Simplest way to find a substring What Does It Do ? <ul><li>Returns The Index Of The First Occurrence Of The Substring. </li></ul><ul><li>If There Is No Such Occurrence, returns a value > Length Of String. </li></ul>string a=“hello world”; cout<<a.find(“0 w”);
  6. 7. Replace An Easy Way To Replace Text In Strings What Does It Do ? <ul><li>Replaces Some Particular Text In A String With The Text You Want To Replace With </li></ul>string a=“hello world”; cout<<a.replace(i,j,”hi”);
  7. 8. Other Useful String Functions <ul><li>string s=“01236789876543210”; </li></ul><ul><li>s.insert(i,”45”); </li></ul><ul><li>s.erase(i,j); </li></ul><ul><li>s.length(); </li></ul><ul><li>s.rfind(“3”); </li></ul>
  8. 9. Extract Data From A String With sscanf() It is like scanf() but, scans from a string instead of standard input !!! string s=“12:40”; int h,m; sscanf(s.c_str() , &quot;%d:%d“ , &h , &m); cout<<h<<endl<<m;
  9. 10. - TIP - You can use find and replace together, to replace all occurences of a particular substring in a string, with some other sequence of characters, irrespective of the size of the new sequence of characters ! Very Useful !!!
  10. 11. <ul><li>#include<sstream> </li></ul>
  11. 12. Converting Anything Printable, To A String Not as hard as it sounds !! stringstream ss; string s; float f=1.732; int i=43; char c=‘g’; ss<<“StringstreamsRock!!”<<f<<i<<c; ss>>s; cout<<s;
  12. 13. - TIP - It Is A Better Idea To Use-- getline(ss , s , ‘ ’); (or) s=ss.str();
  13. 15. a^=b^=a^=b; What Does It Do ?? Guesses Permitted !!
  14. 16. a=a^b; b=a^b; a=a^b; After Simplifying It A Little Bit
  15. 17. It Works Coz Of The Fact That: a^b=c => b^c=a c^a=b
  16. 18. <ul><li>#include<vector> </li></ul>
  17. 19. Capabilities: Easy Sorting!! Constant Access Time!! Linear Time for finding elements!!
  18. 20. So why not Arrays?? Variable Size!!
  19. 21. Useful Functions: push_back() pop_back() insert() erase() clear() assign()
  20. 22. <ul><li>Ready to use Algorithms  </li></ul><ul><li>#include<algorithm> </li></ul>
  21. 23. C++ Already Contains: (Used with respect to Vector v1) sort() stable_sort() qsort() find() reverse() merge()
  22. 24. There’s More.. min_element() max_element() next_permutation() prev_permutation()